我无法找到最佳方法。我有一个用户模型和一个锦标赛模型,我设置了一个has_many:通过这两个模型之间的关系称为'follow_tournaments',以便用户可以关注锦标赛。因此,我已经在User模型中有一个has_many:锦标赛,在锦标赛模型中有一个has_many:用户,这样锦标赛就有很多粉丝,用户可以参加很多锦标赛。
我想建立另一个habtm或has_many:通过关系,以便用户可以被视为锦标赛的“贡献者” - 与我已经建立的完全不同的关系。我想要一个锦标赛,让任意数量的贡献者和用户参与许多锦标赛。
实施此项目的最佳方法是什么?
答案 0 :(得分:0)
使用source
或class_name
class Tournament < ActiveRecord::Base
has_many :users # ... whatever
has_many :contributions
# using class_name
has_many :contributors, :through => :contributions
# using source
has_many :contributors, :through => :contributions, :source => :user
end
class Contribution < ActiveRecord::Base
belongs_to :tournament
# using class_name
belongs_to :contributor, :class_name => 'User'
# using source
belongs_to :user
end