2010-06-08 63 views
0

我有一个名为加濑每个“案例”的模式是通过下面的代码分配给联系人:在Rails中使用belongs_to关联查找项目?

class Kase < ActiveRecord::Base 
    validates_presence_of :jobno 
    has_many :notes, :order => "created_at DESC" 

    belongs_to :company # foreign key: company_id 
    belongs_to :person # foreign key in join table 
    belongs_to :surveyor, 
      :class_name => "Company", 
      :foreign_key => "appointedsurveyor_id" 
    belongs_to :surveyorperson, 
      :class_name => "Person", 
      :foreign_key => "surveyorperson_id" 

我想知道是否有可能联系页面上列出的所有kases那个人的与....关联。

我假设我需要在Person模型中使用find命令?也许类似于以下内容?

def index 
@kases = Person.Kase.find(:person_id) 

还是我完全误解了一切?

感谢,

丹尼

编辑:

如果我使用:

@kases= @person.kases 

我可以成功做到以下几点:

<% if @person.kases.empty? %> 
    No Cases Found 
<% end %> 

<% if @person.kases %> 
This person has a case assigned to them 
<% end %> 

,但我该怎么办OUTP从kase表中找到找到的每个记录的“jobref”字段?

回答

3

也许下面的工作:

@person.kase.conditions({:person_id => some_id}) 

其中some_id是一个整数值。

编辑

你有关联,以便您可以按以下直接使用:

@kases= @person.kases 

show.rhtml您可以直接在您的.rhtml使用实例变量 也@kases是一个数组,所以你必须迭代它。

<% if @kases.blank? %> 
    No Kase found. 
    <% else %> 
    <% for kase in @kases %> 
     <%=h kase.jobref %> 
    <% end %> 
    <% end %> 
+0

哪个表内的整数时,kases一个? – dannymcc 2010-06-08 14:32:06

+0

请检查我编辑的答案。 – Salil 2010-06-08 14:33:57

+0

如果我使用@ kases = @ person.kases,如何在Person显示视图中输出列表?像这样? <%if person.kases.empty? %> 无案件找到 <% end %> <%@如果person.kases%> <%= H @ kase.jobref%> <% end %> – dannymcc 2010-06-08 14:44:45

0

如果您的人形模型有关联的has_many:kases然后,你可以得到所有属于使用该

@kases = Person.find(person_id).kases 

假设为person_id一个人的情况下,有你想要的人的ID查看案件。

0

你可能会想在你的人物模型,它可以让你做@kases = Person.find(person_id).kases

以及其他一切的has_many能够像

has_many :kases 

的另一种方法将是直接经过加濑:

@kases = Kase.find_all_by_person_id(person_id)

相关问题