如何检查关联是否存在rails

时间:2013-10-27 18:54:45

标签: ruby-on-rails

我有两张桌子

  1. 分类
  2. 我的控制器中有以下代码:

    @category = Category.find(id)
    

    假设将类别视为mobile, car, bike

    我需要检查手机或汽车或自行车的存在。这样我就可以禁用输入元素。我试过了:

    <% @category.each do |cat| %>
        <% if cat.posts.exists %>
            class = 'active'
        <% else %>
            class = 'inactive'
        <% end %>
        <div class="#{class}"><%= cat.name %></div>
    
    <% end %>
    

    上面的代码总是运行else条件。

    以下是类别:

    1. 移动
    2. 汽车
    3. 自行车
    4. 如果在我的帖子列中有category_id has the field with value 1列,那么mobile should have a class active和其他两个应该处于非活动状态。

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找any?方法:

<% @category.each do |cat| %>
  <div class="#{cat.posts.any? ? 'active' : 'inactive'}"><%= cat.name %></div>
<% end %>