2017-04-05 2 views
0

私には、Company,UserEmploymentという3つのモデルがあります。各社には雇用者が多いユーザーが多く、ユーザーは雇用を通じて複数の企業に所属する可能性があります。は、Railsでhas_many_though関係に属性を設定しました

ここで難しい部分は、私のUser1が2社に属しているとします。彼は最初のcompnayではSUPER_ADMINですが、2番目のBASIC_USERだけです。彼の役割を定義する最良の方法は何でしょうか?

私は会社とユーザーの間に単純なhas_many関係を持っていましたが、ユーザーにはis_admin attrを設定するだけでしたが、明らかにこれは新しいHMT関係とは関係ありません。

各社のIDの配列を定義すると考えましたが、それには各管理者のIDが含まれていましたが、よりクリーンな方法があると確信しています。

+1

テーブル – Sajin

+1

で '雇用 'の' role'フィールドを追加することができますIMOあなたは特定の会社でユーザーの役割を定義するためにemployementを使うべきです。この方法であなたのHTM関係も解決します。 – rfellons

答えて

0

上記のシナリオでは、中間テーブル、つまりEmploymentテーブルを使用して、ユーザーとその関連会社のすべての詳細を保存できます。

Employmentテーブルには、ユーザ&の両方のユーザーIDがあります。ユーザーと会社に関連する追加情報を簡単に保存することができます。

+1

ええ、ちょうど、管理者のユーザーを取得して削除する方法を追加しなければなりませんでした。非常に華麗な、良い先生。 –

関連する問題