每个人

<% @users.each do |users| %>
   <%= do something %>
<%end %>

但我需要限制它,比方说,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数组中的其他用户,则应使用limit:

@users = User.limit(10)

Ruby-on-rails相关问答推荐

GO AES GCM加密在解密时出错&S

如何判断字符串中是否包含列值

Heroku、Selenium、Chome和Chromedriver的复杂问题(抱歉,无法简单描述,请阅读详细信息)

Ruby 3 动态关键字参数

无效的单表继承类型:Rails

验证模型属性大于另一个

如何在 to_json 中获取回形针图像的 url

rails select标签,预先 Select 了多个值

Rails:如何访问 RESTful 助手?

Rails:包含多态关联

如何判断是否已经在 ruby​​ on rails 的数据库事务中?

从 Authlogic 迁移到 Devise

使用 Ruby on Rails 从原始 IP 地址获取用户国家名称

具有条件的列的计数器缓存?

Rails - 获取没有 GET 参数的当前 url

在 ID 存在时获取表的未知主键

Rails 3.1 在开发模式下非常慢,因为assets资源 ,怎么办?

Rails:在 lib 目录中记录代码?

Rails:如何修复‘生产’环境缺少 secret_key_base

你如何覆盖 form_for 助手中的类名?