2013-02-08 84 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'放入加载的最后一个路径文件即可。

这样它真正在路线的结束,现在我所有的路由工作。并且错误仍然在需要时触发。