从不同型号调用多个项目?

时间:2010-05-17 13:33:38

标签: ruby-on-rails database relational-database

在我的应用程序中,我可以在kase模型中创建新的kase时从公司模型中选择一家公司。

<ul id="kases_new">
    <li>Company<span><%= f.select :company_id, Company.all.collect {|m| [m.companyname, m.id]} %></span></li>

这显示了公司列表,然后当我选择公司时,它将公司ID添加到kases表中的company_id字段。

我希望能够将第二家公司添加到kase但我不知道下一步是什么。我在kases表中创建了一个名为appointedsurveyor_id的字段,所以当我选择公司时,它会将公司ID添加到assignedsurveyor_id字段中。

这很有效,但我需要像第一家公司那样调用有关该公司的信息。

<%= @kase.appointedsurveyor_id %>

以上返回company_id号码,但如何返回公司名称,地址等?

对于第一家公司来说,它很简单:

<li>Fax: <span><%=h @kase.company.companyfax %></span></li>

但如果我第二次这样做,我只会得到第一批公司的详细信息。

谢谢,

丹尼

1 个答案:

答案 0 :(得分:2)

在您的Kase模型中:

belongs_to :surveyor,
           :class_name => "Company",
           :foreign_key => "appointedsurveyor_id"

然后您可以通过@kase.surveyor访问它,并可以访问所有Company信息。