в действиях моего контроллера, у меня почти всегда есть разные проверки, которые устанавливают ошибки флэш-памяти и перенаправление, как:
def create
flash[:error] = I18n.t('error.no_resources') and redirect_to research_center_url and return if not resource_report[:has_resources]
flash[:error] = I18n.t('error.no_deps') and redirect_to research_center_url and return if not research.fulfil_requirements?(active_city)
...
end
Это работает нормально, но я подумал, что, возможно, лучше проверить проверку в моей модели before_create, чем иметь проверки в контроллере (хотя флэш-сообщения обычно должны быть в контроллере).
Однако я не могу поставить эти проверки в мои модели, так как они содержат информацию, не связанную с моделью, которую я не могу получить в обычном режиме. Поэтому мой вопрос заключается в том, как вы проверяете свои контроллеры на наличие ошибок, связанных с обычными приложениями, которые не являются исключениями и должны быть возвращены пользователю? Вы делаете проверки в контроллере, как я делаю здесь, с помощью обратных вызовов модели или другим способом?