如何使用链接中的变量

时间:2014-06-07 11:59:19

标签: ruby-on-rails ruby-on-rails-4

我有一个读取链接

<a href="<%= user_collections_path(@user, :status => "Got") %>">Collection</a>

和另一个读

<a href="<%= user_collections_path(@user, :status => "Want") %>">Wantlist</a>

它们链接到同一视图但产生不同的列表。 在该视图页面上,我希望能够根据文本是Collection还是Wantlist页面来更改文本。像这样:

<% if :status == 'Got' %>collection<% elsif :status == 'Want' %>wantlist<% end %>

显然这不起作用,但经过多次实验后,我无法弄清楚如何查询链接中传递的状态。这可能吗?

3 个答案:

答案 0 :(得分:1)

你应该这样做

<% if params[:status] == 'Got' %>Collection

<% elsif params[:status] == 'Want' %>Wantlist

<% end %>

答案 1 :(得分:0)

传递给link_to的参数会被放入params哈希。在这里,params[:status]是你在视图中访问它的方式,或者 - 更好 - 在控制器中。

答案 2 :(得分:0)

link_to_if可能是您问题的替代解决方案。

link_to_if(params[:status] == 'got', "Collection", user_collections_path(@user)) do
   link_to "Wantlist" user_collections_path(@user)
end