【问题标题】:Rails 3: get route pattern for current controller actionRails 3:获取当前控制器动作的路由模式
【发布时间】:2014-01-16 19:53:48
【问题描述】:

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

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

... 在 FooController#show 操作中,是否可以获得包含路由模式的字符串(在本例中为“/foo/:id.:format”)?

【问题讨论】:

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


    【解决方案1】:

    我想通了。这有点骇人听闻,但这就是我想出的。只需将其添加到 ApplicationController:

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

    【讨论】:

    • 我喜欢!我将它作为 helper_method 添加到控制器中,并作为
    猜你喜欢
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多