我有用户和项目。用户可以有许多项目,项目可以有许多用户。现在项目有一个特定的用户作为作者或创建者,即。项目有一个创建者,该创建者也是用户。如何在轨道中映射此关系!!
#Project
has_and_belongs_to_many :users
belongs_to :author, :class_name => "User"
#User
has_and_belongs_to_many :projects
has_many :authored_projects, :class_name => "Project", :foreign_key => "author_id"
您需要将author_id
添加到项目表中。
所以你可以使用:project.author
、user.authored_projects
等
试试这个
class User < ActiveRecord::Base
has_and_belongs_to_many :projects
has_many :created_projects, :class_name => "Project", :foreign_key => "creator_id"
end
class Project< ActiveRecord::Base
has_and_belongs_to_many :users
belongs_to :creator, :class_name => "User"
end