2013-02-08 79 views
0

我實現了一個簡單的自定義錯誤的解決方案不起作用。 這一個:http://ramblinglabs.com/blog/2012/01/rails-3-1-adding-custom-404-and-500-error-pages捕外卡的路線失蹤的路線,當具有其他路由文件

everyhing是除了在routes.rb中文件中缺少的路線,以獲得我的error_controller做工精細..

時有丟失的路線,我做了通配符的解決方案:match '*not_found', to: 'errors#error_404'

但現在...當我試圖進入我的網站,其座位下的子部分: /管理員,我得到的錯誤頁面。在wilcard被觸發,即使是艱難的管理部分的路線不同的路線文件中定義,下:配置/路由/ admin.rb

我能做些什麼? 感謝

編輯:使用Rails 3.0.20和1.8.7紅寶石

+0

是什麼在你的routes.rb文件? – Swards 2013-02-08 22:51:58

+0

只是普通的東西..沒有什麼特別的我的routes.rb文件。問題是在文件的結尾通配符似乎路由系統查​​找之前的路線管理路線段的第二路由文件 – 2013-02-09 14:19:22

回答

1

如果你使用Rails 3.2+ ,有您的路線簡單的解決方案。首先,在「配置/ application.rb中」設置你的應用程序的錯誤處理程序

config.exceptions_app = self.routes 

現在當有您的應用程序將期待你的路由來處理它。在「配置/ routes.rb中」你可以添加一個途徑,如:

match "/404", :to => "errors#not_found" 

一個更詳細的解釋可以發現here.

+0

感謝熄滅,但我使用Rails 3.0.20 – 2013-02-09 14:18:26

0

OK,直到我將更新到Rails 3.2+

我只需將'*not_found', to: 'errors#error_404'放入加載的最後一個路徑文件即可。

這樣它真正在路線的結束,現在我所有的路由工作。並且錯誤仍然在需要時觸發。