2023-08-25 09:06PM
我的rails版本为4.2.11.3
app/controllers/comment_users_controller.rb文件中 create action的内容为:
def create
@comment_user = CommentUser.new
@comment_user.username = params[:comment_user][:username]
@comment_user.password = params[:comment_user][:password]
@comment_user.save
if @comment_user.username.blank? || @comment_user.password.blank?
redirect_to :back, notice: '用户名和密码不能为空'
return
end
session[:current_comment_user] = @comment_user
redirect_to article_path(params[:article_id])
end
在cancancan的app/models/ability.rb文件中增加了CommentUser的create之后,浏览器就报错说:
ActiveModel::ForbiddenAttributesError in CommentUsersController#create
ActiveModel::ForbiddenAttributesError
修改app/controllers/comment_users_controller.rb文件中的create action内容 (将所需的参数标记为必需)
def create
@comment_user = CommentUser.new(comment_user_params)
@comment_user.username = params[:comment_user][:username]
@comment_user.password = params[:comment_user][:password]
@comment_user.save
…………
end
private
def comment_user_params
params.require(:comment_user).permit(:username, :password)
end
修改完create action中的内容,在刷新浏览器,就发现已经可以了
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论