【发布时间】:2012-04-05 08:51:18
【问题描述】:
我们刚刚将应用升级到 Rails 3.2.2,现在遇到了处理错误的路由问题。
根据José Valim's blog post,我们添加了以下内容:config.exceptions_app = self.routes 到 config/application.rbmatch "/404", :to => "errors#not_found" 到 config/routes.rb
(以及相应的控制器/视图)。
问题是我们需要ourdomain.com/id 来显示id 产品类别的索引页面。
所以,现在ourdomain.com/404 显示了我们的 404 页面,此时它应该显示我们的类别列表页面,该页面的 id 为 404。
我们如何解决这个问题?
有没有办法让应用程序在 error_ 评估每个错误之前添加 routes?
或者,也许以某种方式将config.exceptions_app 设置为引用routes 文件中的命名空间?
或者,我可以创建第二个路由集并设置config.exceptions_app = self.second_set_of_routes吗?
谢谢!
【问题讨论】:
-
为什么路由设置为
/id而不是products/id?
标签: ruby-on-rails ruby-on-rails-3 exception-handling routing ruby-on-rails-3.2