ruby-on-rails-3 - ActiveModel::MassAssignmentSecurity::Error:无法批量分配 protected 属性:

标签 ruby-on-rails-3 activerecord

我正在学习 Lynda.com 的 Ruby on Rail 3 Essential Training 教程。我在创建 Active Record 条目时遇到了困难。这是我在控制台中得到的错误。

1.9.3p125 :007 > user = User.new(:first_name => "Mike", :last_name => "Jones")
ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: first_name, last_name
    from /home/mark/.rvm/gems/ruby-1.9.3-p125/gems/activemodel-3.2.3/lib/active_model/mass_assignment_security/sanitizer.rb:48:in `process_removed_attributes'
    from /home/mark/.rvm/gems/ruby-1.9.3-p125/gems/activemodel-3.2.3/lib/active_model/mass_assignment_security/sanitizer.rb:20:in `debug_protected_attribute_removal'
    from /home/mark/.rvm/gems/ruby-1.9.3-p125/gems/activemodel-3.2.3/lib/active_model/mass_assignment_security/sanitizer.rb:12:in `sanitize'
    from /home/mark/.rvm/gems/ruby-1.9.3-p125/gems/activemodel-3.2.3/lib/active_model/mass_assignment_security.rb:230:in `sanitize_for_mass_assignment'
    from /home/mark/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/attribute_assignment.rb:75:in `assign_attributes'
    from /home/mark/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/base.rb:498:in `initialize'
    from (irb):7:in `new'
    from (irb):7
    from /home/mark/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.3/lib/rails/commands/console.rb:47:in `start'
    from /home/mark/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.3/lib/rails/commands/console.rb:8:in `start'
    from /home/mark/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.3/lib/rails/commands.rb:41:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>`

这是我在我的模型中所拥有的:
class User < ActiveRecord::Base
  attr_accessible :first_name, :last_name
end

我究竟做错了什么。我有导轨 3.2.3

最佳答案

据我所知,lynda 类(class)是在 rails3 上开发的,而在 rails 3.2.3 中,默认情况下没有批量分配。你必须去你的模型并添加 attr_accessible :name, :position, :visible。基本上,您必须添加要批量分配的每个属性。

关于ruby-on-rails-3 - ActiveModel::MassAssignmentSecurity::Error:无法批量分配 protected 属性:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10183298/

相关文章:

sql - postgresql:选择所有关联记录都匹配条件的记录

ruby-on-rails-3 - 即使使用 config.render_views,RSpec response.body 仍然是空的

ruby-on-rails - rails structure.sql 和 schema.rb 有什么区别

ruby-on-rails - 应用程序显示错误的小时和分钟

sql - 将 SQL 查询转换为 ActiveRecord 查询

ruby-on-rails - 更新父级时未设置父级 ID

ruby-on-rails - 升级到 Rails 3.1.1 和 Authlogic

html - 媒体查询覆盖桌面样式

ruby-on-rails - Rails 3 等同于复杂的 SQL 查询

ruby-on-rails - ActiveRecord 关联选择包含记录的计数