Ruby on rails 如何在没有站点布局的情况下呈现rails静态404500错误页面?
我使用的是rails 3。在生产环境中,rails很好地处理异常,并从公共目录加载静态404.html、500.html等文件。但是,它会将这些文件加载到我的layouts/application.html.erb文件中。我正在寻找一种方法来指导rails在不使用我的应用程序布局的情况下加载这些文件-例如,只提供静态html文件而不提供其他内容。实现这一目标的最佳方式是什么Ruby on rails 如何在没有站点布局的情况下呈现rails静态404500错误页面?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我使用的是rails 3。在生产环境中,rails很好地处理异常,并从公共目录加载静态404.html、500.html等文件。但是,它会将这些文件加载到我的layouts/application.html.erb文件中。我正在寻找一种方法来指导rails在不使用我的应用程序布局的情况下加载这些文件-例如,只提供静态html文件而不提供其他内容。实现这一目标的最佳方式是什么 谢谢 render:file=>'public/404.html',:status=>:not_found,:layout
谢谢
render:file=>'public/404.html',:status=>:not_found,:layout=>false
用于在Rails框架内工作的高级方法。更新您的路由
文件:
get "/404", to: "errors#error_404"
get "/500", to: "errors#error_500"
添加一个错误控制器
:
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
文件以及一个和一个搜索栏
.据我所知,rails默认情况下加载这些错误页面而不加载布局/application.html.erb,如果我错了请纠正我,我在heroku上托管并且它正在我的应用布局中加载这些文件…它必须是
:status=>:not_found
和not:status=>“not_found”
,这让我很困惑,但它现在正在工作。谢谢@在你的控制器的某个地方。