0

最近、Ruby-on-Rails の学習を開始しました。今では、何かを作成できるようになりましたが、まだ構文に慣れていません。

今日、私はページネーションに取り組んでいるので、ご覧のとおり、1 ページあたり 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

しかし、1つだけではなく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 に答える