Настройки конфигурации Rails 3 для attr_accessible/protected
Я просто потратил довольно много времени, пытаясь решить проблему с виртуальными атрибутами в моей модели. Оказалось, я просто забыл добавить его в attr_accesible в моей модели. Конечно, я должен был поймать это раньше или лучше начать все с того, что сначала добавил его в attr_accessible.
Чтобы это не повторилось, есть ли параметр конфигурации, который я могу пометить, чтобы выдавать исключение при разработке, если я пытаюсь массово назначить что-то и проверить его, когда оно защищено / недоступно? Я знаю, что могу использовать набор config.active_record.whitelist_attributes = true
требовать белый список для всех, кроме моего вопроса больше на индивидуальной основе атрибута.
Например, приведенная выше строка не предупреждает меня, если у меня есть модель с attr_accessible:name, а затем add:nickname (виртуальная или нет), и я пытаюсь назначить ее, проверяя наличие =>true. Я хочу, чтобы он предупредил меня, что я пытался проверить защищенный атрибут с помощью массового назначения.
1 ответ
Rails 3.2 имеет опцию конфигурации для поднятия ActiveModel::MassAssignmentSecurity::Error
в таком случае
config.active_record.mass_assignment_sanitizer = :strict