0

私はユーザーモデルを持っています:

class User < ActiveRecord::Base
  has_many :projects, dependent: :destroy
end

および Project モデル:

class Project < ActiveRecord::Base
  belongs_to :user
end

が に資金を提供できるようにしたい場合、および に多くの が資金を提供できるUserようにしたい場合はどうすればよいですか?ProjectsProjectUsers

これは、多対多の関係を取得することを意味し、追加の中間テーブルが必要になります。それを呼んでuser_projectsください:

class UserProject < ActiveRecord::Base
  belongs_to :user
  belongs_to :project
end

しかし、3 つ目のモデルを実装する前に、モデル間にあった以前の関係にどのように対処すればよいでしょうか?

中間テーブルがある場合、どのプロジェクトがどのユーザーに属しているかを知るにはどうすればよいですか?

次の方法でテーブルを変更しますか?

class User < ActiveRecord::Base
  has_many :projects, through: :user_project, dependent: :destroy
  has_many :user_projects
end

class Project < ActiveRecord::Base
  has_many :user_projects
  has_many :users, through: user_project
end
4

1 に答える 1