Ruby on rails 3 rails3ujs:使用link_时传入参数

Ruby on rails 3 rails3ujs:使用link_时传入参数,ruby-on-rails-3,Ruby On Rails 3,如何传入ID之外的其他参数 #we want to pass in additional params as well <%= link_to "bleh", like_path(answer), :add_param=>2 , :remote=>"true" ,:method=>:post %> #我们还想传入其他参数 2,:remote=>“true”,:method=>:post%> 您可以在路径函数中作为url的一部分传递参数。比如: <%= li

如何传入ID之外的其他参数

#we want to pass in additional params as well
<%= link_to  "bleh", like_path(answer), :add_param=>2 , :remote=>"true" ,:method=>:post %>
#我们还想传入其他参数
2,:remote=>“true”,:method=>:post%>

您可以在路径函数中作为url的一部分传递参数。比如:

<%= link_to "bleh", 
  like_path(:answer_id => 123, :add_param => 2), 
  :remote=> true , :method=> :post %>

# would result in something like
# yourapp.com/like/aswer/3?add_param=2
123,:add_param=>2),
:remote=>true,:method=>:post%>
#会导致类似的结果
#yourapp.com/like/aswer/3?添加参数=2

但我认为,在这种情况下,您需要远离纯粹基于资源的路径帮助器。检查一下你的想法

如果您不想将参数放入路径帮助器中(可能是因为有很多参数,或者在生成页面时您不知道这些参数),也可以将它们放入
数据参数
属性中

例如:

链接到“添加到购物车”,购物车路径,
数据:{method::post,remote:true,参数:{product_id:123}.to_param}
生成的HTML如下所示:


JQuery UJS处理程序将从
数据参数
属性到POST请求主体的所有内容都附加到了一起


从概念上讲,首先使用path helper没有太大区别,但是如果您想修改Javascript中的参数,这个解决方案可能会产生更优雅的代码。

回答得很好!我在找这样的东西。我知道Rails魔术师也会有这个东西。你在哪里找到的?它没有文档(至少我没有找到),但它在代码中。这也是一个令人惊讶的简单声明,它提供了一个特性:这是很棒的东西。干得好用于查找和共享。完美。谢谢你,先生!这很好,因为很难找出
数据参数的最佳语法。我使用ruby
.slim
文件代替HTML。我发现使用Rails的按钮来创建一个功能齐全的UJS链接是最好的方法:
=button\u来“按我”,一些路径,类:“button is info”,remote:true,params:{toggle:toggle},data:{disable:{with:'Loading…}
p.s.请原谅上面的格式设置