如何在 ruby 循环中停在特定范围
How to stop at a specific range in ruby loops
我这里有一段代码,它从数据库中为我的所有问题生成一个 link,但现在我有 10 个条目,这个循环将迭代 10 次。有没有办法在 4 的范围内停止迭代?
<table>
<tr>
<th>Question</th>
<th>Button</th>
</tr>
</tr>
<% @questions.each do |q| %>
<tr>
<td><%= q.question %></td>
<td><%= link_to 'Question', show_url(q.id), method: :get %></td>
<td><%= q.id %> Button</td>
<% end %>
</tr>
</table>
如有任何建议,我们将不胜感激!
谢谢
假设您从数据库或其他外部来源获取 @questions
,例如在 rails 控制器中,您可以在获取数据时限制条目数。有多种方法可以做到这一点,具体取决于您的数据检索方法。
但是,如果您需要限制代码中 ERB 部分的问题,您可以这样写:
<% @questions.take(4).each do |q| %>
<tr>
<td><%= q.question %></td>
<td><%= link_to 'Question', show_url(q.id), method: :get %></td>
<td><%= q.id %> Button</td>
</tr>
<% end %>
或者,您也可以这样写:
@questions[0..3]
或
@questions.first(4)
希望对您有所帮助。
我这里有一段代码,它从数据库中为我的所有问题生成一个 link,但现在我有 10 个条目,这个循环将迭代 10 次。有没有办法在 4 的范围内停止迭代?
<table>
<tr>
<th>Question</th>
<th>Button</th>
</tr>
</tr>
<% @questions.each do |q| %>
<tr>
<td><%= q.question %></td>
<td><%= link_to 'Question', show_url(q.id), method: :get %></td>
<td><%= q.id %> Button</td>
<% end %>
</tr>
</table>
如有任何建议,我们将不胜感激! 谢谢
假设您从数据库或其他外部来源获取 @questions
,例如在 rails 控制器中,您可以在获取数据时限制条目数。有多种方法可以做到这一点,具体取决于您的数据检索方法。
但是,如果您需要限制代码中 ERB 部分的问题,您可以这样写:
<% @questions.take(4).each do |q| %>
<tr>
<td><%= q.question %></td>
<td><%= link_to 'Question', show_url(q.id), method: :get %></td>
<td><%= q.id %> Button</td>
</tr>
<% end %>
或者,您也可以这样写:
@questions[0..3]
或
@questions.first(4)
希望对您有所帮助。