Rails为嵌套控制器的catch-all路由

时间:2011-07-03 21:56:03

标签: ruby-on-rails routes

在rails 3中,如何使所有控制器/操作(包括嵌套控制器)工作而不在routes.rb中指定它们?

我取消注释以下行,但它不适用于嵌套控制器。

match ':controller(/:action(/:id(.:format)))'

我想让/ preview / draft1 / index工作。

感谢。

萨姆

1 个答案:

答案 0 :(得分:1)

您需要在控制器上创建一个带约束的路径:

match ':controller(/:action(/:id(.:format)))', :controller => /preview\/[^\/]+/

其中“preview”是命名空间的名称。然后:

match ':controller(/:action(/:id(.:format)))'

欲了解更多信息: http://edgeguides.rubyonrails.org/routing.html#dynamic-segments