0

本当に奇妙なことをしているアプリがあります。

関連する 2 つのモデルがありhas_manyます: Group has_many :members. ( AMemberは 1 つのみに属することができGroupます。) そこで、グループのメンバーを次のようにリストします。

<ul>
  <%= for member in @group.members do %>
    <li class="entry">
      <%= link_to member.name, member_path(member) %>
    </li>
  <% end %>
</ul> 

簡単です。これは、グループ インデックスですべてのグループを一覧表示するために使用したのと同じロジックであり、正常に動作します。ただし、これは HTML 出力です。

<ul>

    <li class="entry">
      <a href="/members/23">John Doe</a>
    </li>

    <li class="entry">
      <a href="/members/25">Jane Doe</a>
    </li>
[#&lt;Member id: 23, name: &quot;John Doe&quot;, [timestamps], group_id: 3&gt;, #&lt;Member id: 25, name: &quot;Jane Doe&quot;, [timestamps], group_id: 3&gt;]</ul>

なんてこったい?inspectビューのどこにも呼び出しがありませdebugんが、ループの後にクエリ全体を追加し続けます。同じことがeachイテレータでも起こります。

このモデルは、別のモデル , ( ) とMemberhas_many :through関連付けられていることに注意してください。同じ方法で関連付けを反復すると、同じことが起こります。Seminar:through => :memberships

何が起こっている?

4

1 に答える 1

1

ERBタグを変更します。

<% for member in @group.members do %>

いいえ:

<%= for member in @group.members do %>
于 2013-09-09T18:07:33.690 に答える