Rails 3:获取当前控制器动作的路由模式

时间:2014-01-16 19:53:48

标签: ruby-on-rails ruby-on-rails-3 routes

有没有办法获得与控制器操作匹配的路由模式?例如。如果我定义了以下路线......

get '/foo/:id.:format' => 'foo#show'

...在FooController#show action中,是否可以获取包含路由模式的字符串(在此示例中为" / foo /:id。:format")?

1 个答案:

答案 0 :(得分:5)

我明白了。这有点像黑客,但这就是我想出来的。只需将其添加到ApplicationController:

def get_route_pattern
  Rails.application.routes.router.recognize(request) { |route| return route.path.spec.to_s }
end