さて、ここに私の質問があります。私には、人、役割、クライアント、ストアの3つの異なるモデルがあります。クライアントには多くの店舗があり、多くの人がいることもあります。店にはたくさんの人がいます。人々にはさまざまな役割があります。1人は複数の店舗で働くことができ、店舗ごとに役割が異なる場合があります。
例えば。ジョーは、ある店舗のアシスタントマネージャーであり、別の店舗のマネージャーである可能性があります。私がしたいのは、次のようなことをして正しい役割を引き出すことです
Store.find(1).people.find(1).roles(たとえば、「アシスタントマネージャー」を返します)または
Store.find(2).people.find(1).roles(たとえば、「manager」を返します)。これはActiveRecordで行うことができますか?
次の定義を持つテーブル:roles_peopleを作成しました。
create_table:roles_people、:id => false do | t | t.references:role t.references:person t.references:store t.references:client 終わり
ただし、このテーブルを使用して関連付けを正しく機能させる方法がわかりません。誰かが私を正しい方向に向けることができますか?
ありがとう