我正在使用rails 3.在生产rails中很好地处理异常并从我的公共目录加载我的静态404.html,500.html等文件。但是,它会将这些文件加载到我的layouts / application.html.erb文件中。我正在寻找一种方法来指示rails加载这些文件而不使用我的应用程序布局 - 例如只提供静态html文件,没有别的。完成此任务的最佳方法是什么?
谢谢!
答案 0 :(得分:55)
render :file => 'public/404.html', :status => :not_found, :layout => false
答案 1 :(得分:1)
对于在Rails框架内工作的高级方法。更新您的routes
文件:
get "/404", to: "errors#error_404"
get "/500", to: "errors#error_500"
添加ErrorsController
:
layout false
def error_404
render status: 404
end
def error_500
render status: 500
end
然后在app/views/errors/
内添加error_404.erb
和error_500.erb
个文件以及snazy image和搜索栏。