Rails:如何检查每个的数量

时间:2016-09-09 13:36:24

标签: ruby-on-rails ruby-on-rails-4

我想知道视图中each do的数量。

例如,

  <% schedule.rooms.each do |r| %>
    <% r.events.each do |e| %>

如果没有r.events,我想添加一些内容。

  <% schedule.rooms.each do |r| %>
    <% r.events.each do |e| %>
      <% if _r.events is not exist_ %>
        do something

如果你能给我任何建议,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用room检查循环中的当前any?实例是否包含与之关联的任何事件。

<% schedule.rooms.each do |room| %>
  <% if room.events.any? %>
    there are events, loop over them...
    <% room.events.each |event| %>
       do something with `event` instance 
    <% end %>
  <% else %>
    no events, do something else
  <% end %>
<% end %>

您也可以反转逻辑并使用{​​{3}}或empty?

<% if room.events.none? %>

<% if room.events.empty? %>

或使用unless

<% unless room.events.any? %>