使用orm rails两个表的关系

时间:2015-09-07 15:08:08

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

我需要打印与交易有关的关系。

示例:

-Trade 1

  • 排放1
  • 排放2

我的代码打印。

-Trade 1

  • 排放1

-Trade 1

  • 排放2

此代码:

        <% @emissions.group_by(&:trade).each do |trade, emission| %>
        <% emission.each do |e| %>
            <% if (e.users.present?) %>
                <li><%= trade.name %></li>
                    <ul>
                        <li><%= e.name %></li>
                    </ul>
            <% end %>
        <% end %>
        </li>
    <% end %>

更新

如果用户关系与排放相关联,则应显示该列表。 例如:        &lt;%If(e.users.present?)%&gt;          

  • &lt;%= emission.name%&gt;

    仅在与用户的排放比率存在时才会显示。

    如果存在此关系,则应显示公司名称。

    尝试以下方法        &lt;%If(emission.users.present?)%&gt;          

  • &lt;%= trade.name%&gt;          
  • &lt;%= emission.name%&gt;

    但这对公司名称的每一期都重复两次。

  • 1 个答案:

    答案 0 :(得分:0)

    你的缩进遍布整个地方,你有很多html标签,中间有<% end %>,有类似的东西,所以它有点令人困惑,但我认为你&#39 ;尝试做这样的事情:

    <% @emissions.group_by(&:trade).each do |trade, grouped_emissions| %>
      <li><%= trade.name %>
      <ul>
        <% grouped_emissions.each do |emission| %>
          <% if (emission.users.present?) %>
            <li><%= e.name %></li>
          <% end %>
        <% end %>
      </ul>
      </li>
    <% end %>