iam在rails 3.我正在尝试创建一个用户
cant mass assign the protected attributes error
我在gemfile中包含了以下gems
gem 'authlogic'
gem 'gemcutter'
并在rails控制台中运行bundle install
然后创建一个用户模型并将所需的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
我如何纠正这个错误!
答案 0 :(得分:1)
在User
模型中:
attr_accessible :name, :password, :password_confirmation
答案 1 :(得分:0)
您必须将这些属性添加到模型中的attr_accessible
列表中。
有关质量分配及其安全影响的重要信息:http://guides.rubyonrails.org/security.html#mass-assignment