在我的应用程序中,我有类User,Video和Vote。用户和视频可以通过两种不同的方式相互关联:一对多或多对多。前者是用户提交视频时(一个用户可以提交很多视频)。后者是用户在视频上投票时(用户通过投票有很多视频,反之亦然)。这是我的代码,它不起作用(我想 - 我可能在视图中做错了事)。请帮我理解正确的方法来组织这些协会:如何以两种不同的方式定义两个彼此相关的模型之间的ActiveRecord关系?
class User < ActiveRecord::Base
has_many :videos, :as => :submissions
has_many :votes #have tried it without this
has_many :videos, :as => :likes, :through => :votes
end
class Vote < ActiveRecord::Base
belongs_to :video
belongs_to :user
end
class Video < ActiveRecord::Base
belongs_to :user
has_many :votes #have tried it without this . . . superfluous?
has_many :users, :as => :voters, :through => :votes
end
你能扩展什么不行吗?是否有错误等? – 2009-10-06 04:28:23
当我尝试做:video.voters <<用户,它说:“未定义的方法'选民'为#<视频:0xb752b270> – 2009-10-06 04:43:49