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

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

   

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

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

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,因此您可以获得ARfunction的好处。 你也可以做很多事情,例如:

@users.first(10)@users.last(10)