在Ruby on Rails html.erb文件中循环

Sta*_*ids 26 html ruby loops ruby-on-rails erb

每个人我都是Ruby on Rails的新手,我需要了解一些东西.我有一个实例变量(@users),我需要在html.erb文件中循环它限制次数.我已经用过了:

<% @users.each do |users| %>
   <%= do something %>
<%end %>
Run Code Online (Sandbox Code Playgroud)

但是,我需要将其限制为10次.我能做什么?

inf*_*sed 31

如果要@users包含的元素多于您想要循环的元素,则可以使用firstslice:

运用 first

<% @users.first(10).each do |users| %>
  <%= do something %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

运用 slice

<% @users.slice(0, 10).each do |users| %>
  <%= do something %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但是,如果您实际上不需要@users数组中的其余用户,则只应加载所需数量的用户:

@users = User.limit(10)
Run Code Online (Sandbox Code Playgroud)


San*_*osh 5

你可以做

<% for i in 0..9 do %>
  <%= @users[i].name %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但是,如果视图中仅需要10个用户,则可以将其限制在控制器本身中

@users = User.limit(10)
Run Code Online (Sandbox Code Playgroud)