环境:rails 3.2.12 + ruby 1.9.3p392 重现步骤:
rails g model order number:string description:text quantity:integer
建立一个 model,bundle exec rake db:migration
更新数据库rails c
在控制台中增加一条 order 数据。rails g migration add_type_to_order
为 order 表增加一个 type 字段。bundle exec rake db:migration
再次更新数据库rails c
的控制台中使用
order = Order.first
order.type = 'C'
order.save
这时发现 order 可以正常更新
继续使用
order.update_attributes( :type => "M" )
来更新,发现报错“ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: type”,上网查说“type”是个比较敏感的词,于是改成了“order_type”,结果发现仍然不能使用 update_attributes 方法来更新这个字段的值,向各位前辈求教这是为什么呢?先行谢过了~