Как я могу отправить сообщения об ошибках, которые происходят в типовом кодексе назад к представлению. Я имею в виду. У меня есть a
begin
Some code
rescue
Exception Handling
end
теперь ошибка происходит и в спасении, я хотел бы передать сообщение обратно контроллеру, так, чтобы это было отображено в представлении. Я должен использовать переменную, которая должна содержать много сообщений об ошибках, который происходит в одном запросе, свяжите их и передайте его обратно контроллеру, так, чтобы я мог отобразить его в представлении?. Направляющие уже показывают, что некоторые сообщения об ошибках как поле не могут быть пробелом. Я спрашиваю о других исключениях, который происходит в функциях, которые присутствуют в типовом кодексе.
Исключения, возникающие при сохранении / создании модели
Я использую обратные вызовы ActiveRecord after_validation, after_validation_on_create и before_save (в зависимости от обстоятельств), чтобы получите дополнительные данные и убедитесь, что все готово к сохранению. Затем, если возникнут проблемы, я сохраняю исключение в error [: base], используя add_to_base . Таким образом, представление будет отображать сообщение об ошибке так же, как и любые другие ошибки проверки.
Помните, что если ваш метод before_save вернет false, сохранение не удастся.
Исключения для других методов модели
Доступны все обычные методы:
Пример того, что я делаю в собственном коде:
def create
@letter = Letter.new(params[:id])
begin
@letter.do_something_that_could_throw_an_exception
flash[:notice] = I18n.translate('letter.success_create')
rescue => e
logger.error "letter_controller::create => exception #{e.class.name} : #{e.message}"
flash[:error] = "#{I18n.translate('letter.letter_create_failed')}<br/>Detailed error: #{e.message}"
ExceptionNotifier.deliver_exception_notification(e, self, request)
# redirect somewhere sensible?
end
end
end
Это поможет?
begin
Some code
rescue =>e
@error= e.message
Exception Handling
end
в просмотрах
<%= @error %>