我有以下一组指向同一视图的路线:
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-v2
或mypath_v2
,我该怎么做?
答案 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.path
或request.fullpath
时,它会引入链接的实际地址请求路径。
因此...
<%= if request.path.eql?('mypath-v2') ? "Used It" : "Other Route" %>