无法分配受保护的属性

时间:2013-04-19 10:31:46

标签: ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

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

我如何纠正这个错误!

2 个答案:

答案 0 :(得分:1)

User模型中:

attr_accessible :name, :password, :password_confirmation

答案 1 :(得分:0)

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

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