2013-10-17 27 views
0

我做了一個應用程序來顯示從另一個表中的列,但不工作顯示在關係問題列

這裏我表

|policies| 
|id| |num_policy| 

|insurances| 
|id| |id_policy| |net_insurance| 

|insurance_financing|  
    |id| |id_ensurance| |number| 

這是我的控制器

class PolicyController < ApplicationController 
    def generate_print 
     @policies= Policy.find(:all) 
    end 
end 

這是我的模特

class Policy < ActiveRecord::Base 
    has_many :insurances 
end 

class Insurance < ActiveRecord::Base 
    belongs_to :policy 
    has_many :insurance_financing_details 
end 

class InsuranceFinancingDetail < ActiveRecord::Base 
    belongs_to :insurance 
end   

這是我的看法

<% @policies.each do |p| %> 

    <%= p.num_policy %> 

    <% p.insurances.insurance_financing_details.each do |insurance| %> 
     <%= insurance.number %> 
    <% end %> 

<% end %> 

這是我的錯誤

undefined method `insurance_financing_details' 

這我也嘗試<%p.insurance_financing_details.each做|保險| %>

undefined method `insurance_financing_details' 

請有人可以幫我解決這個問題

我可能喜歡幫助

回答

1

p.insurances會給你一個陣列。以下應該工作。但請注意,如果您有大量政策和保險,將會有性能問題

<% @policies.each do |p| %> 
    <%= p.num_policy %> 

    <% p.insurances.each do |insurance| %> 
     <% insurance.insurance_financing_details.each do |detail| %> 
     <%= detail.number %> 
     <% end %> 
    <% end %> 

<% end %> 
+0

感謝它爲我工作 –