我有一個巨大的Rails應用程序正在運行退出,但我有一個谷歌的問題,因爲應用程序的一些討厭的行爲。當我打電話爲什麼rails應用程序在某些情況下返回406而不是404?
http://railsapp.com/index.html
哪個犯規存在的應用程序返回一個404錯誤是正確的。但是,當我打電話
它返回一個406錯誤至極的心不是很大。每次請求具有.htm擴展名的非現有文件時,都會出現此問題。我如何讓我的rails應用程序返回404而不是406?
我有一個巨大的Rails應用程序正在運行退出,但我有一個谷歌的問題,因爲應用程序的一些討厭的行爲。當我打電話爲什麼rails應用程序在某些情況下返回406而不是404?
http://railsapp.com/index.html
哪個犯規存在的應用程序返回一個404錯誤是正確的。但是,當我打電話
它返回一個406錯誤至極的心不是很大。每次請求具有.htm擴展名的非現有文件時,都會出現此問題。我如何讓我的rails應用程序返回404而不是406?
試試這個
respond_to do |format|
format.html {}
format.js {}
end
因爲在你的「#{RAILS_ROOT} /公/ ..」 406.htm文件是不是他們的,這樣它給錯誤和404.html文件公用文件夾中可用,因此這是電話。
在您的{RAILS_ROOT} /公開這些文件是他們
1. 404.html
2. 422.html
3. 500.html
如果使用這些文件,那麼它稱之爲否則會給錯誤,如文件不存在。
或
,你也可以做到這一點。在ApplicationController中定義的方法,如:讓你得到錯誤壬現有文件
def render_404
render :file => "#{RAILS_ROOT}/public/404.html", :status => 404
end
406.htm文件不在您的公共文件夾中。按照您的佈局在公用文件夾中添加406.html文件,然後嘗試。