Как массово назначить защищенные атрибуты в миграции без изменения модели
Я использую 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
Спасибо за вашу помощь
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!