我做了一个应用程序,以显示最后一次net_insurance,但当我试图计入保险融资时
这是我的表格
|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 %>
请有人帮我解决这个问题
我真的很感激帮助
答案 0 :(得分:1)
如果希望渲染结果,则需要使用<%=
而不是<%
:
<% insurance.insurance_financing_details.size %>
应该是:
<%= insurance.insurance_financing_details.size %>
否则,它将呈现(在您的情况下)块正在迭代的集合。