【发布时间】:2011-11-23 17:01:49
【问题描述】:
可能重复:
Rails has_many :through Find by Extra Attributes in Join Model
我的模型中有以下多对多设置:
class Project < ActiveRecord::Base
has_many :projectcollaborations
has_many :partners, :through => :projectcollaborations, :source => :partner
end
class Partner < ActiveRecord::Base
has_many :projectcollaborations
has_many :projects, :through => :projectcollaborations, :source => :project
end
class Projectcollaboration < ActiveRecord::Base
belongs_to :project
belongs_to :partner
end
我可以访问:
@partner = Partner.first
@partner.projects
@partner.projectcollaborations.find_by_myrole('creator')
....
现在我如何访问 @partner 的所有项目,在我的多对多关系表中有 myrole 创建者?
【问题讨论】:
-
请为您的关联和类名使用正确的大小写:即
project_collaborations,而不是projectcollaborations和ProjectCollaboration,而不是Projectcollaboration。这使您的代码对所有相关人员都更具可读性。
标签: ruby-on-rails many-to-many relationships