0

我知道有一种更优雅的方法可以做到这一点,但我想不通,我的大脑必须卡在“S”档。

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

我有一个控制器操作预下载,我需要传递被点击的图像的 ID。一旦我试图强制采取行动,其他方法就会对我不利。

{"tag"=>"gorilla", "controller"=>"profiles", "action"=>"prepdownload"} 我无法以比上面更优雅的方式对结果进行逆向工程。

4

1 回答 1

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 %>
于 2013-07-25T20:41:37.347 回答