我正在使用 passenger 和 nginx。我有一个自定义的 .ria 格式。如果路由以 .ria 结尾,则页面使用 javascript 和 ajax 来增强用户体验。如果 .ria 不存在,它会回退到不使用 javascript。因此,当我遇到错误时,后备程序会很好地显示自定义错误页面,但对于 .ria,它会显示一个空白页面。
对可能发生的事情或遗漏的事情有任何想法吗?
提前致谢。
最佳答案
没关系。
问题出在 Excpetion Notification 插件上。该插件为 type.html 格式和 type.all 呈现 500.html 页面,它不呈现任何内容。
respond_to do |type|
type.html { render :file => "#{RAILS_ROOT}/public/500.html", :status => "500 Error" }
type.all { render :nothing => true, :status => "500 Error" }
end
所以我用下面的代码覆盖了 ApplicationController 中的方法
respond_to do |type|
type.html { render :file => "#{RAILS_ROOT}/public/500.html", :status => "500 Error" }
type.ria { render :file => "#{RAILS_ROOT}/public/500.html", :status => "500 Error" }
type.all { render :nothing => true, :status => "500 Error" }
end
现在一切正常:)
关于ruby-on-rails - 使用 RIA 重定向到空白页的 Rails 500 错误。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6851012/