2016-01-11 156 views
2

我有以下设置的路线,其指向同一个观点:如何通过助手名称获取路线?

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,我该怎么做?

回答

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" %> 
1

嗯,对我来说是更好的做用PARAMS这样的事情。你可以这样定义你的路由:

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

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