-1

私は2つのモデルを持っています:

Department
 has_many :accounts

Account
 belongs_to :department

しかし、どうにかして次のテーブルを作成する必要があります。

departments_accounts
department_id
account_id

これは多対多のテーブルではありませんか? 部門は多くのアカウントを持つことができますが、その逆はありません。

移行を使用して新しいテーブルをセットアップする移行を作成するにはどうすればよいですか?

4

1 に答える 1

1

私の理解が正しければ、 と の間にhas_many :through (多対多) の関係を作成する必要がDepartmentありAccountます。

rails g model DepartmentAccount department:references account:references

DepartmentAccountこれにより、関連付けのあるモデルが作成されます。

belongs_to :department
belongs_to :account

Departmentそして、モデルを変更する必要があります

has_many :department_accounts
has_many :accounts, through: :department_accounts

そして、Accountモデルは持っている必要があります

has_many :department_accounts
has_many :departments, through: :department_accounts
于 2013-11-03T15:24:58.643 に答える