如何通过帮助名称获取路线?

时间:2016-01-11 18:29:11

标签: ruby-on-rails ruby

我有以下一组指向同一视图的路线:

get 'mypath', to: 'home#mypath', as: 'mypath'
get 'mypath-v2', to: 'home#mypath', as: 'mypath_v2'
get 'mypath-v3', to: 'home#mypath', as: 'mypath_v3'

如何在视图中检查我是使用一条路线还是另一条路线?

例如,如果我想获得mypath-v2mypath_v2,我该怎么做?

2 个答案:

答案 0 :(得分:1)

嗯,对我而言,最好使用params来做这些事情。您可以像这样定义您的路线:

get "mypath/:version", :as => "mypath"

在这种情况下,您将能够使用params [:version]来阐明当前路径。

答案 1 :(得分:0)

您可以通过附加_path_url

来调用它

例如,这是一个链接中的示例:

<%= link_to 'Link to mypath-v2 page', mypath_v2_path %>

OR

<%= link_to 'Link to mypath-v2 page', mypath_v2_url %>

要比较它们,您可以查看请求对象。当您致电request.pathrequest.fullpath时,它会引入链接的实际地址请求路径。

因此...

<%= if request.path.eql?('mypath-v2') ? "Used It" : "Other Route" %>