Callbacks
Вы должны перенести многие из этих ошибок в свои модели, используя Обратные вызовы . Они применяются к ошибкам, которые имеют отношение к действиям, связанным с записями в вашей базе данных, т. Е. Проверяют правильность ввода данных.
Фильтры
Используйте before_filters и after_filters для проверки на наличие ошибок, особенно когда вам нужно выполнить эти проверки для нескольких действий контроллера. Пример:
before_filter :check_errors
def example
regular code...
end
private
def check_errors
error checking...
end
Ситуационные заявления
Используйте Примеры выписок для улучшения ваших выписок if
, особенно если у вас несколько проверок.
Определение приоритетов выше
Используйте обратные вызовы в своих моделях всегда, когда это возможно, и всякий раз, когда требуется сохранение / обновление / проверка данных.
Используйте before_filters
всякий раз, когда код будет использоваться повторно для нескольких действий (и, на мой взгляд, всегда, когда вы включали проверку ошибок, подобную этой).
Если вам нужно, чтобы эти проверки выполнялись только один раз, только в этом действии контроллера, которое не включает изменение записей, просто переписайте ваш код в допустимом выражении case (но я по-прежнему рекомендую перенести его в before_filter).