我正在将应用程序从 Rails 2 迁移到 Rails 3。
我们有多个具有不同命名空间的命名空间控制器。由于它们不是 RESTfull 我不想使用资源路由,而是我想要一个旧的 Rails 2,比如match ':controller/:action'来获取命名空间的控制器。
在我的 routes.rb 我有
# Install the default route as the lowest priority.
match ':controller(/:action(/:id(.:format)))'
match ':controller(/:action(/:id(.:format)))', :controller => /[^\/]+\/[^\/]+/
rake 路由报告
/:controller(/:action(/:id(.:format))) :controller#:action
/:controller(/:action(/:id(.:format))) (?-mix:[^\/]+\/[^\/]+)#:action
对/config/companies/index的请求仍然失败
ActionController::RoutingError (No route matches [GET] "/config/companies/index"):
我究竟做错了什么?是否有另一种方法来获取具有动态段的命名空间路由?当我尝试同时使用命名空间和与动态段的匹配时,它会引发错误。
:controller segment is not allowed within a namespace block