0

我有三张桌子,

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_namedrop down box提供params更改和更新field_name.

我尝试了以下Beta表格,但我不知道如何Gamma通过使用BetaClass 来获取价值。

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

注意:field_name应该在 where alphatable :set_code= betatable之下:set_code

4

1 回答 1

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
于 2013-04-17T16:09:18.867 回答