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 do |insurance| %>

undefined method `insurance_financing_details'

誰かがこの問題で私を助けてください

私は本当に助けに感謝します

4

1 に答える 1

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 %>
于 2013-10-17T20:23:28.743 に答える