如何在不更改模型的情况下在迁移中批量分配受保护的属性
How to mass-assign protected attributes in a migration without changing the model
我正在使用 Rails 3.2
是否有特殊的命令可以在迁移中分配受保护的属性,而无需使用 "attr_accessible" 语句修改模型。
我确实有一个属性 "pub_convention_id" 必须在生产模式下受到保护。
但是,我需要在迁移过程中更新它的值。
这就是为什么我得到这个 "famous message" : 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
感谢您的帮助
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!
我正在使用 Rails 3.2
是否有特殊的命令可以在迁移中分配受保护的属性,而无需使用 "attr_accessible" 语句修改模型。
我确实有一个属性 "pub_convention_id" 必须在生产模式下受到保护。
但是,我需要在迁移过程中更新它的值。
这就是为什么我得到这个 "famous message" : 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
感谢您的帮助
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!