在关系问题中显示表中的信息

时间:2013-10-16 22:44:05

标签: ruby-on-rails ruby ruby-on-rails-2

我做了一个应用程序来显示另一个表中的列但是没有工作

这是我的表格

|policies|
 |id|  |num_policy|

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

这是我的控制器

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 |policy| %>
  <%= policy.num_policy %>
  <%= policy.insurance.net_insurance %>
<% end %>

这是我的错误

undefined method `insurance'

我也试过&lt;%= policy.insurances.net_insurance%&gt;

undefined method `net_insurance'

请有人帮我解决这个问题

我真的很感激帮助

1 个答案:

答案 0 :(得分:1)

每个Policy都有许多保险,即它们的数组。要获得第一个net_insurance

<% @policies.each do |policy| %>
  <%= policy.insurances.first.net_insurance %>
<% end %>

打印全部:

<% @policies.each do |policy| %>
  <% policy.insurances.each |insurance| %>
    <%= insurance.net_insurance %>
  <% end %>
<% end %>