Простой способ реализовать стоп-слова на полях модели - PullRequest
0 голосов
/ 18 января 2011

Я использую Rails 3.0 и имею несколько моделей, которые имеют общедоступное, английское, справочное поле, такое как заголовок главы истории. Я ищу элегантный способ реализации определенных стоп-слов для действий на контроллерах, например, "новый", "обновить", "уничтожить" и т. д. Каков наилучший способ сделать это с помощью какого-либо обратного вызова во время сохранения модели?

1 Ответ

1 голос
/ 18 января 2011

В 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 также есть, если они вам нужны.

...