Rails中关联模型中的条件语句

时间:2011-02-17 15:09:00

标签: ruby-on-rails

使用Rails 2.3.8。我认为我有以下内容:

<% if !@shop.city_shops.blank? %>
  <% @shop.city_shops.each do |city_shop|  %>
    <% if !city_shop.notes.blank? %>
      <% city_shop.notes %>
    <% else %>
      <p>No notes.</p>
    <% end %>
  <% end %>
<% else %>
 <p>No notes.</p>
<% end %>

city_shops有一个名为notes的数据库列; belongs_to shopshop has_many city_shops

在文章A中,我将shop with ID 50添加到新行city_shop中,然后添加notes。 在文章B中,我将shop with ID 50添加到新行city_shop,而没有注释。 在文章C中,我将shop with ID 51添加到新行city_shop,而没有注释。

city_shop数据库的结果:

ID | shop_id | notes
1  |   50    | Test
2  |   50    | 
3  |   51    | 

view.html.erb的{​​{1}}中,我想显示来自shop 50 ID 1的注释Test

city_shop的{​​{1}}中,我想显示view.html.erb ID 3中的shop 51

谢谢。

1 个答案:

答案 0 :(得分:1)

<% no_notes = false %>   

<% @shop.city_shops.each do |city_shop|  %>
 <% unless city_shop.notes.blank? %>
   <% city_shop.notes %>
 <% else %>
   <% no_notes = true %>
 <% end %> 
<% end %>

<% if no_notes %>
  <p>No notes.</p>
<% end %>