我目前正在开发一个Rails 4应用程序,并且我想在发生任何异常时向用户显示自定义错误页面。目前它在公共目录中使用500.HTML。
如何让应用程序呈现erb文件,因为我想在页面上添加一些动态内容。
谢谢你的帮助, 亚历
答案 0 :(得分:6)
ApplicationController有方法rescue_from解除控制器操作中引发的异常:
application_controller.rb
中的:
class ApplicationController < ActionController::Base
rescue_from YouAwesome::Exception do |exception|
render_403(exception)
end
def render_403(exception)
logger.warn("Message for log.")
@error_message = exception.message
respond_to do |format|
format.html { render template: 'errors/errors', layout: false, status: 500 }
format.all { render nothing: true, status: 500 }
end
end
end
现在,您可以在错误文件夹errors.html.erb
中创建视图并呈现@error_message
变量。
那就是。
答案 1 :(得分:2)
Ryan提供了一个很棒的教程,解释了rails中的异常处理,看看这个http://railscasts.com/episodes/53-handling-exceptions