レコードを選択すると、ページの上半分に複数のレコードが設定され、ページの下半分に単一のレコードの詳細が設定された複雑な Web アプリケーションがあり、下部の詳細部分の一部として、更新するパーシャルがあります。モデル関係からのマルチレコードテーブルであるAJAXを使用していますが、私が抱えている問題は、レコードセットをループして、そのレコードの関係からデータを取得しようとすると、レコードが戻ってくることnil
です。これが私の言いたいことの例です。
<table>
<% @file.file_entities.each do |i| %>
<tr>
<td id="name"><div><a href="#"><%= truncate("#{i.entity.FirstName} #{i.entity.LastName}", :length => 17) %></a></div></td>
<td id="position"><select><option>Buyer</option><option>Seller</option><option>Lender</option><option>Referrer</option></select></td>
<td id="pr"><%= check_box_tag('pr_out', i.PRSent, i.PRSent?) %></td>
<% if EntityContact.where(:EntityID => i.entity.EntityID).phones_callable.first.inspect == nil -%>
<td id="phone"><div>NONE</div></td>
<% else %>
<td id="phone"><div><%= EntityContact.where(:EntityID => i.EntityID).phones_callable.first.ContactDesc %>: <%= EntityContact.where(:EntityID => i.EntityID).phones_ca>
<% end %>
</tr>
<% end %>
</table>
これを使用して値を取得する場所ContactDesc
EntityContact.where(:EntityID => i.EntityID).phones_callable.first.ContactDesc
それは私にnilEntityContact
モデルオブジェクトを与えていますがi.EntityID
、このループにちょうど入れた場合、それは私に与えられ、また、上記のwhere句でactualEntityID
に置き換えると、そのレコードがうまく返されます。where句で機能していないと思いますが、理由はわかりませんか?i.EntityID
ID
i.EntityID