我有三张桌子,
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
在我的Alpha视图中,我想在所选field_name
的{{1}}中显示drop down box
,并提供更改和更新params
的选项。
我尝试使用以下field_name
表,但我不知道如何使用Beta
类从Gamma
获取值。
Beta
注意:<%= f.select :field_code, Beta.all.map{|b| [b.field_Code, b.set_code]} %>
应位于field_name
表alpha
= :set_code
表beta
的位置。
答案 0 :(得分: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