`
小嗷喏
  • 浏览: 52608 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

ActiveModel::ForbiddenAttributesError 错误。

阅读更多

 在用户点击注册按钮是 出现 错误 ActiveModel::ForbiddenAttributesError 

解决方法一:

  def create
    @user = User.new(params[:user])  // 这是被提示有错误。
    if @user.save
      cookies.permanent[:token] = @user.token
      redirect_to :user_welcome
      return
    end
    render :register
  end

    解决方法, 首先在 user Model中 加入:

attr_accessible :name, :password, :password_confirmation, :question, :answer

    接着运行是回出现错误:

 `attr_accessible` is extracted out of Rails into a gem. Please user

  new recommended protection model

 forparams(strong_parameters) or add `protected_attributes` to

  your Gemfile to use old one.

  按照错误提示,打开 Gemfile文件,在文件中写上:

gem 'protected_attributes', '1.0.5'

   然后进入终端,输入:

bundle insatll

   运行结束后。 重启本地服务器。

 

  解决方法二:

  自己写一个方法

  def user_params
    params.require(:user).permit(:name, :password, :password_confirmation, :question, :answer)
  end

   然后在将create 方法修改成

   

  def create
    @user = User.new(user_params) //这里是修改的地方, 调用了 user_params Method
    if @user.save
      cookies.permanent[:token] = @user.token
      redirect_to :user_welcome
      return
    end
    render :register
  end

   

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics