我正在 nginx 使用乘客。我有自定义的.ria格式。如果路由以.ria结尾,则页面使用javascript和ajax来增强用户体验。如果.ria不存在,则回退到不使用javascript。因此,当我收到错误时,后备显示自定义错误页面就好了,但是.ria显示空白页面。
对可能发生的事情或缺少的事情有任何想法?
提前致谢。
答案 0 :(得分:0)
没关系。
问题在于Excpetion Notification插件。该插件为type.html格式呈现500.html页面,对于type.all呈现任何内容。
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
现在一切正常:)