我最近开始学习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个参数
解决方案:
感谢Mr.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 %>
答案 0 :(得分:2)
您可以在路径助手中传递更多属性:
items_path(:offset => i, :age => 10)
# should generates an url with get params like following:
/items?offset=12&age=10 # (assuming 'i' = 12)
来自文档seen on APIdock.com #link_to:
link_to "Nonsense search", searches_path(:foo => "bar", :baz => "quux")
# => <a href="/searches?foo=bar&baz=quux">Nonsense search</a>