Я использую Rails 3.0 и имею несколько моделей, у которых есть публичное, английское, ссылочное поле, такое как заголовок главы истории. Я ищу элегантный способ реализовать определенные слова остановки для действий над контроллерами, например. «новый», «обновление», «уничтожить» и т. д. Каков наилучший способ сделать это посредством какого-то обратного вызова во время сохранения модели?Простой способ реализовать слова остановки по полям модели
0
A
ответ
1
У Rails есть тонна обратных вызовов для такого рода вещей. Я думаю, что обратные вызовы, которые представляли бы для вас наибольший интерес, были бы before_validation, before_validation_on_create, after_validation и after_validation_on_create, так как вы можете получить стоп-лосс, а затем ваши проверки выполняются на оставшихся.
Так что ваша модель Глава будет иметь что-то вроде:
before_validation_on_create :check_for_stop_words
def check_for_stop_words
#checks for stopwords...
end
Обычная before_destroy и before_update также там, если вы нуждаетесь в них.
Да, я действительно думал о том, чтобы идти по этому маршруту. Я думаю, что в Rails 3 вы можете использовать validates: field -> с каким-то обратным вызовом? –