2013-04-17 65 views
0

我有三個表,如何通過ruby中的關聯獲取值?

Alpha - :set_code, :field_code 

Beta - :set_code, :field_code # both fields are primary key in BETA table 

Gamma - :field_code, :field_name 

我在我的模型三類:

Class Alpha 
    belongs_to :alpha_beta, foreign_key: 'set_code', class_name: 'Beta' 
end 

Class Beta 
    belongs_to :beta_gamma, foreign_key: 'field_code', class_name: 'Gamma' 
end 

Class Gamma 
end 

在我的阿爾法的看法,我想通過選擇params以顯示drop down boxfield_name,並給予選項來更改和更新field_name

我試着像高達Beta桌子下面,我沒有如何從Gamma使用Beta類獲取價值的想法。

<%= f.select :field_code, Beta.all.map{|b| [b.field_Code, b.set_code]} %> 

注:field_name應該來這裏下表alpha = :set_codebeta:set_code

回答

1

這是你在找什麼?

<%= f.select :set_code, Beta.all.map {|b| [b.beta_gamma.field_name, b.set_code] } %> 

你可以通過belongs_to關係訪問相關記錄。

alpha = Alpha.first 
alpha.alpha_beta #=> instance of Beta 
alpha.alpah_beta.beta_gamma #=> instance of Gamma 
+0

謝謝,我會檢查它並讓你知道.. – Vinay

相關問題