0

最後のnet_insuranceを表示するアプリを作成しましたが、Insurance Financingでカウントしようとすると

ここに私のテーブル

|policies|
 |id|  |num_policy|
  1       12345
  2       54654

|insurances|
 |id|  |id_policy| |net_insurance| 
  1       1          1000
  2       2          2000
  3       2          3000
  4       1          5000     

|insurance_financing|       
  |id| |id_ensurance| |number|
   1         2           9888
   2         2           1444
   3         4           2444
   4         4           1445


 |trying to obtain|
   |num_policy|   |last_net_insurance|  |count_InsuranceFinancing_by_IdEnsurance|
       12345         3000                          2
       54654         5000                          2

これは私のコントローラーです

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   %>
     <%  policy.insurances.last(1).each do |insurance| %>
        <% insurance.insurance_financing_details.each do |detail| %>
           <%= detail.number %>
        <% end %>
     <% end %>
<% end %>

こんな結果になりました

   |num_policy|   |last_net_insurance|  |count_InsuranceFinancing_by_IdEnsurance|
       12345         3000                          9888    1444
       54654         5000                          2444    1445

でも私はしたい

   |num_policy|   |last_net_insurance|  |count_InsuranceFinancing_by_IdEnsurance|
       12345         3000                          2
       54654         5000                          2

このコードを試しましたが、機能しません

     <%  policy.insurances.last(1).each do |insurance| %>
        <% insurance.insurance_financing_details.size %>
     <% end %>

これを試してみましたが、機能していません

     <%  policy.insurances.last(1).each do |insurance| %>
        <% insurance.insurance_financing_details.count %>
     <% end %>

また、試してみましたが、まだ機能していません

     <%  policy.insurances.last(1).insurance_financing_details.size %>

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

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

4

1 に答える 1

1

<%=結果をレンダリングする場合は、代わりに使用する必要があり<%ます。

<% insurance.insurance_financing_details.size %>

次のようにする必要があります。

<%= insurance.insurance_financing_details.size %>

それ以外の場合は、(あなたの場合) ブロックが反復されていたコレクションをレンダリングします。

于 2013-10-29T20:13:54.783 に答える