2010-06-08 64 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)

相關問題