従業員、割り当て、ストアの3つのモデルがあります。
従業員には割り当てを通じて多くの店舗があり、店舗には割り当てを通じて多くの従業員がいます。(割り当ては、外国のキーを介して従業員とストアをリンクします)
従業員は、ストアへの現在の割り当てを1つだけ持つことができます。
従業員のインデックスビューで実行しようとしているのは、従業員に現在割り当てられているストア名を表示することです(名前はストアモデルのフィールドです)。
どうすればいいですか?
従業員、割り当て、ストアの3つのモデルがあります。
従業員には割り当てを通じて多くの店舗があり、店舗には割り当てを通じて多くの従業員がいます。(割り当ては、外国のキーを介して従業員とストアをリンクします)
従業員は、ストアへの現在の割り当てを1つだけ持つことができます。
従業員のインデックスビューで実行しようとしているのは、従業員に現在割り当てられているストア名を表示することです(名前はストアモデルのフィールドです)。
どうすればいいですか?
リレーションが通常の方法で設定されていると仮定するとincludes
、関連付けられたレコードをeager-loadするために使用します:
@employees = Employee.includes( :stores => :employees ).all
@employees.stores[n].name
次に、ビューで(.stores
Employee と言ったため、コレクションです)にアクセスできますhas_many :stores, ...
。