link_to在URL中发送参数,并在目标页面上获取它们。

16 浏览
0 Comments

link_to在URL中发送参数,并在目标页面上获取它们。

我怎样在一个页面上添加一个链接,让用户跳转到另一个URL,并传递一个参数,在目标URL上我们怎样获取这个参数。

通常我会像下面这样添加链接:

 <%= link_to "添加产品", '/pages/product' %>

但是我怎样在这个URL上发送参数呢?我可以通过params[:参数名]在目标动作中获取它们吗?

0
0 Comments

问题出现的原因是在使用Rails中的link_to方法时,需要将参数传递到目标页面,并在目标页面上获取这些参数。解决方法是在link_to方法的hash参数中引用params,并确保使用GET方法。代码示例如下:

<%= link_to 'Link Text', {controller: 'controller/name', action: 'action_name', query: params[:query]}, method: 'get', class=>'link_styling' %>

其中,'Link Text'是链接文本,'controller/name'和'action_name'是目标页面的控制器和动作名称,params[:query]是要传递的参数,method: 'get'表示使用GET方法,class=>'link_styling'用于设置链接的样式。

此外,可以参考http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to了解更多关于link_to方法的信息。

0
0 Comments

(link_to send parameters along with the url and grab them on target page)这个问题的出现的原因以及解决方法,可以得出以下结论:

问题原因:在Rails中,如果需要在链接中传递参数并在目标页面上获取这些参数,需要使用link_to方法。但是,在使用link_to方法时,如果直接将参数添加到链接中,无法在目标页面上正确获取参数。

解决方法:有两种解决方法可以实现在链接中传递参数并在目标页面上获取这些参数。

方法一:在链接中直接添加参数,然后在控制器中使用params方法获取参数的值。

<%= link_to "Add Product", '/pages/product?param1=value1&param2=value2' %>

param1 = params[:param1] # "value1"
param2 = params[:param2] # "value2"

方法二:使用helper方法来生成路由(例如company_path),并在链接中添加参数的哈希值。

<%= link_to "Add Product", new_product_path(:param1 => "value1", :param2 => "value2") %>
<%= link_to "Add Product", "/products/new?param1=value1&param2=value2" %>

从文档中可以找到更多关于link_to方法的用法:

link_to "Comment wall", profile_path(:anchor => "wall")

# => Comment wall

link_to "Ruby on Rails search", :controller => "searches", :query => "ruby on rails"

# => Ruby on Rails search

link_to "Nonsense search", searches_path(:foo => "bar", :baz => "quux")

# => Nonsense search

Rails中有多种方法可以实现在链接中传递参数并在目标页面上获取这些参数,但是应该使用Rails的helper方法来生成路径/URL,而不是手动输入地址。

0