Ruby on Railsと私は何かを理解する必要があります。インスタンス変数(@users)があり、ループする必要がありますhtml.erbファイル内の制限された回数。
<% @users.each do |users| %>
<%= do something %>
<%end %>
しかし、10回に制限する必要があります。私に何ができる?
@users
にはループしたい要素よりも多くの要素があります。first
またはslice
を使用できます。
first
を使用する
<% @users.first(10).each do |users| %>
<%= do something %>
<% end %>
slice
を使用する
<% @users.slice(0, 10).each do |users| %>
<%= do something %>
<% end %>
ただし、実際に@users配列の残りのユーザーが必要ない場合は、必要な数だけロードする必要があります。
@users = User.limit(10)
できる
<% for i in 0..9 do %>
<%= @users[i].name %>
<% end %>
ただし、ビューに必要なユーザーが10人だけの場合は、コントローラー自体で制限できます。
@users = User.limit(10)
なぜユーザーを制限しないのですか?
_<%= @users.limit(10).each do |user| %>
...
<%end%>
_
それでもActiveRecordを使用するので、AR関数の利点が得られます。次のような多くのこともできます。
@users.first(10)
または@users.last(10)