Я предотвращаю обновления некоторых моделей, используя это в модели:
def update
self.errors.add_to_base( "Cannot update a #{ self.to_s }" )
end
Сейчас я пишу плагин, который предоставляет некоторые дополнительные функции для модели, и мне нужно обновить одинполе в модели.Если бы я не использовал плагин, я бы сделал это непосредственно в модели ...
def update
if self.changed == ['my_field']
super
else
self.errors.add_to_base( "Cannot update a #{ self.to_s }" )
end
end
Я не могу сделать то же самое с моим плагином, так как я не знаю, является ли поведение обновленияActiveRecord по умолчанию или был переопределен для предотвращения обновлений.Есть ли другой способ предотвратить обновление записей, позволяя мне переопределять для определенного поля (и только в том случае, если мой плагин применяется к этой модели).