如何在没有站点布局的情况下呈现rails静态404500错误页面



我使用的是rails 3。在生产中,rails可以很好地处理异常,并从公共目录加载静态404.html、500.html等文件。但是,它将这些文件加载到我的layouts/application.html.erb文件中。我正在寻找一种方法来指示rails在不使用我的应用程序布局的情况下加载这些文件——例如,只提供静态html文件,而不提供其他文件。实现这一目标的最佳方法是什么?

谢谢!

render :file => 'public/404.html', :status => :not_found, :layout => false

对于在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.erberror_500.erb文件,以及一个粗略的图像和一个搜索栏。

点击此处了解更多信息。

最新更新