Rails链接到带有数据的视图中的控制器中的操作

时间:2013-07-25 20:14:50

标签: ruby-on-rails view controller params

我知道有一种更优雅的方法可以做到这一点,但我无法弄清楚,我的大脑必须被困在“S”装备中。

<% @imageline.each do |album| %>
   <%link_s = '/prepdownload?tag=gorilla'%>
   <%=link_to (link_s) do %>
     <%= image_tag src ='gorilla.jpg' %>
   <%end%>
<%end%>

我有一个控制器操作prepdownload,我需要传递被点击的图像的ID。一旦我试图强行采取行动,其他方法就会对我产生影响。

{“tag”=&gt;“gorilla”,“controller”=&gt;“个人资料”,“行动”=&gt;“prepdownload”}我无法以比上述更优雅的方式对结果进行逆向工程。

1 个答案:

答案 0 :(得分:0)

看起来你想要一个查询字符串。

您可以像这样写出一个手动URL哈希:

<%= link_to {controller: "profiles", action: "prepdownload", tag: "gorilla"} do %>
  <%= image_tag src ='gorilla.jpg' %>
<% end %>

但优雅的方法是使用命名路线

# config/routes.rb
get 'prepdownload', to: 'profiles#prepdownload', as: :prepdownload 

然后调用命名路由,传入查询字符串参数:

<%= link_to prepdownload_path(tag: "gorilla") do %>
  <%= image_tag src ='gorilla.jpg' %>
<% end %>