2012-07-18 50 views
0

我有一個複雜的Web應用程序,它在頁面的上半部分設置了多記錄集,並在選擇記錄時在頁面的下半部分設置了單個記錄詳細信息以及作爲較低細節部分的一部分,我有部分內容使用AJAX更新模型關係中的多記錄表,但我遇到的問題是當我嘗試通過記錄集進行循環並嘗試獲取數據時該記錄的關係,記錄返回nil。這是我的意思的一個例子。Rails 3.2無法從模型關係中獲取要顯示的數據

<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 

它給了我零EntityContact模型對象來獲取值,但如果我把剛剛i.EntityID在這個循環,然後它給我的EntityID以及如果我用上面的where子句中的實際ID替換i.EntityID,那麼它將返回該記錄就好了。所以我認爲i.EntityID在我的where子句中不起作用,但我不知道爲什麼?

回答

0

我明白了,愚蠢的我沒有意識到,如果沒有關係中的記錄,它會拋出一個異常,所以我只是添加了一個if語句來檢查在提取數據之前是否存在一條記錄, 我的錯。

相關問題