我正在使用Rails 3.2
是否有特殊命令在迁移中分配受保护属性而不使用“attr_accessible”语句修改模型。
我的属性“pub_convention_id”必须在生产模式下保持受保护。
但是,我需要在迁移期间更新其值。
这就是为什么我要提出这个“着名的信息”:Can't mass-assign protected attributes: pub_convention_id
所以我问:是否有一个特殊的声明来临时停用质量分配保护(例如在块中)?
这是我的迁移文件的关注部分:
ProjEncaissementCofin.all.each do |proj_encaissement_cofin|
proj_encaissement_cofin.update_attributes! :pub_convention_id => 1
end
感谢您的帮助
答案 0 :(得分:1)
proj_encaissement_cofin.pub_convention_id = 1
proj_encaissement_cofin.save!
或
proj_encaissement_cofin.assign_attributes({ pub_contention_id: 1 }, without_protection: true)
proj_encaissement_cofin.save!