我如何在页面上有一个链接,将用户带到另一个URL并传递参数和目标网址,我们如何获取该参数。
通常我会添加以下链接:
<%= link_to "Add Product", '/pages/product' %>
但是如何与此网址一起发送参数?我可以通过using params[:parm_name]
答案 0 :(得分:92)
只需将它们添加到链接:
<%= link_to "Add Product", '/pages/product?param1=value1¶m2=value2' %>
并在控制器中:
param1 = params[:param1] # "value1"
param2 = params[:param2] # "value2"
如果你对路由使用辅助方法(例如company_path
),那么你可以添加参数的散列,所以这两个应该是相似的:
<%= link_to "Add Product", new_product_path(:param1 => "value1", :param2 => "value2") %>
<%= link_to "Add Product", "/products/new?param1=value1¶m2=value2" %>
link_to "Comment wall", profile_path(@profile, :anchor => "wall")
# => <a href="/profiles/1#wall">Comment wall</a>
link_to "Ruby on Rails search", :controller => "searches", :query => "ruby on rails"
# => <a href="/searches?query=ruby+on+rails">Ruby on Rails search</a>
link_to "Nonsense search", searches_path(:foo => "bar", :baz => "quux")
# => <a href="/searches?foo=bar&baz=quux">Nonsense search</a>
答案 1 :(得分:0)
这是一种更多的方式。
<%= link_to 'Link Text',
{controller: 'controller/name', action: 'action_name', query: params[:query]},
method: 'get',
:class=>'link_styling' %>
您需要在定义链接的哈希中引用您的参数。它还需要是一个GET方法。造型当然是可选的。
这也应该在这里:http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to