-1

我正在使用 rails 3.while 尝试创建一个我得到的用户

cant mass assign the protected attributes error

我在 gemfile 中包含了以下 gem

gem 'authlogic' 
gem 'gemcutter' 

bundle install在 Rails 控制台中运行

然后创建一个用户模型并将所需的 authlogic 列添加到迁移中。

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string    :login,               :null => false  
      t.string    :crypted_password,    :null => false  
      t.string    :password_salt,       :null => false  
      t.string    :persistence_token,   :null => false  
      t.timestamps
    end
  end
end

并确实rake db:migrate 包含authlogic在用户模型中。

# /app/models/user.rb  
class User < ActiveRecord::Base  
  acts_as_authentic  
end  

尝试在 Rails 控制台中创建用户时 User.create(name: "pria",password: "priya123", password_confirmation: "priya123")

我正进入(状态

cant mass assign the protected attributes :name, :password, :password_confirmation

我该如何纠正这个错误!

4

2 回答 2

1

在您的User模型中:

attr_accessible :name, :password, :password_confirmation
于 2013-04-19T10:34:40.647 回答
0

您必须将这些属性添加到attr_accessible模型中的列表中。

有关批量分配及其安全影响的重要信息:http: //guides.rubyonrails.org/security.html#mass-assignment

于 2013-04-19T10:45:00.457 回答