0

我最近开始学习 ruby​​-on-rails,现在我已经到了可以创建一些东西但仍然对语法不太熟悉的地步。

今天我一直在研究分页,所以你可以看到我想每页显示 15 个项目,所以现在这很好用:

<% (0..@items_count).step(15) do |i| %>
     <li class="<%='active' if params[:offset].to_i == i%>"><%= link_to i/15+1, items_path(:offset => i) %></li>
<% end %>

这是我卡住的部分:

<% (0..@items_count).step(15) do |i| %>
     <li class="<%='active' if params[:offset].to_i == i%>"><%= link_to i/15+1, items_path(:offset => i, :age => 10) %></li>
<% end %>

我正在尝试在偏移量之外传递一些额外的参数,但由于语言技能限制(从我这边)而无法做到

所以目前我的链接看起来像这样:

http://localhost:3000/items?offset=20

但我的观点是与多个参数有这样的链接:

http://localhost:3000/items?offset=20&age=10

但不仅仅是一个,而是 n 个参数

解决方案 :

感谢Yoshiji先生提供答案。我试图直接用:age => "params[:age]"

但这有效:

:age=> "#{params[:age]}"

应用于上述示例的逻辑:

<% (0..@items_count).step(15) do |i| %>
         <li class="<%='active' if params[:offset].to_i == i%>"><%= link_to i/15+1, items_path(:offset => i, :age => "#{params[:age]}") %></li>
<% end %>
4

1 回答 1

2

您可以在路径助手中传递更多属性:

items_path(:offset => i, :age => 10) 
# should generates an url with get params like following: 
/items?offset=12&age=10 # (assuming 'i' = 12)

APIdock.com #link_to上看到的文档:

link_to "Nonsense search", searches_path(:foo => "bar", :baz => "quux")
# => <a href="/searches?foo=bar&baz=quux">Nonsense search</a>
于 2012-12-14T17:03:33.577 回答