Ruby/Rails - 限制对象/哈希的大小

Chr*_*len 1 ruby ruby-on-rails

我有一个名为@events的对象,包含从我的模型的查找条件中提取的大约50条记录.

我目前正在我的视图中显示@object的结果....

<% for event in @events %>
    <p><%= @event.name %></p>           
<% end %>
Run Code Online (Sandbox Code Playgroud)

我没有显示整个50,而是将设置缩小到大约10条记录,因此它在页面上显示得更好.

我不能使用:限制查找条件,因为对象是由各种循环组成的,每次迭代后它都会添加一些特定的记录.

所以问题是我有这个对象@events有50条记录,如何在组成对象后更改对象,这样只剩下前10条记录?

小智 12

首先,如果您想要分页,我强烈建议您查看will_paginate

或者,您可以执行以下操作仅读取前10条记录.

<% @events.first(10).each do |event| %>
    <p><%= event.name %></p>           
<% end %>
Run Code Online (Sandbox Code Playgroud)

或者最后10条记录

<% @events.last(10).each do |event| %>
    <p><%= event.name %></p>           
<% end %>
Run Code Online (Sandbox Code Playgroud)

我没有测试它,但你明白了.