我找不出最好的方法来做这件事。我有一个用户模型和一个锦标赛模型,我在这两个模型之间建立了一个称为'followed_tournaments‘的has_many :through关系,这样用户就可以关注锦标赛了。因此,我在用户模型中已经有了一个has_many : has_many,在锦标赛模型中已经有了一个users :users,这样一场锦标赛就有了很多追随者,一个用户可以关注很多锦标赛。
我想建立另一个habtm或has_many :through关系,这样用户就可以被认为是锦标赛的“贡献者”--与我已经建立的关系完全不同。我希望一个锦标赛有任何数量的贡献者和用户为许多锦标赛做出贡献。
实现它的最佳方式是什么?
发布于 2012-08-09 13:15:54
使用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
endhttps://stackoverflow.com/questions/11877053
复制相似问题