私はユーザーモデルを持っています:
class User < ActiveRecord::Base
has_many :projects, dependent: :destroy
end
および Project モデル:
class Project < ActiveRecord::Base
belongs_to :user
end
が に資金を提供できるようにしたい場合、および に多くの が資金を提供できるUser
ようにしたい場合はどうすればよいですか?Projects
Project
Users
これは、多対多の関係を取得することを意味し、追加の中間テーブルが必要になります。それを呼んで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