2013-04-17 14 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

相关问题