Rails路由条目以匹配任何控制器操作

时间:2014-04-01 13:43:26

标签: ruby-on-rails routing

我希望有一个测试控制器,我可以轻松添加操作并让路由器自动识别它们。我能够创建一个匹配任何控制器操作的路由条目(例1),但无法弄清楚如何将其限制为测试控制器(例2)。

routes.rb中:

# EXAMPLE 1: Match any generic controller actions (e.g. any_controller/any_action):
get ':controller/:action

# EXAMPLE 2: Match any test controller actions (e.g. test/any_action):
get 'test/:action'

#2示例结果导致路由错误:

routing/mapper.rb:229:in `default_controller_and_action': missing :controller (ArgumentError)

2 个答案:

答案 0 :(得分:3)

您可以按如下方式使用它:

get 'test/:action', controller: :test

这将创建如下路线:

 GET    /test/:action(.:format)           test#:action

这将匹配任何测试控制器操作(例如test / any_action)

答案 1 :(得分:0)

你应该告诉轨道这条路线会发生什么:

get ':controller/:action' => "office#show"