模型关联问题

时间:2011-03-17 17:23:16

标签: ruby-on-rails ruby ruby-on-rails-3 model

所以我正在实施一个上/下投票机制,我正在为此生成一个模型。到目前为止,我知道视频(将被投票的内容)有一个vote_count,而vote_count属于视频。但是,我还想在我的vote_count数据库中跟踪投票的用户。这是否意味着vote_count有很多用户,而用户属于vote_count?

2 个答案:

答案 0 :(得分:5)

将选票跟踪为独立记录可能更容易,例如:

class VideoVote < ActiveRecord::Base
  belongs_to :user
  belongs_to :video
end

class User < ActiveRecord::Base
  has_many :video_votes
  has_many :voted_videos,
    :through => :video_votes,
    :source => :video
end

class Video < ActiveRecord::Base
  has_many :video_votes,
    :counter_cache => true
  has_many :voted_users,
    :through => :video_votes,
    :source => :user
end

如果你有人投票和投票,你需要以某种方式跟踪净投票总数。这可能很棘手,因此您可能希望寻找投票插件。

答案 1 :(得分:-1)

我在这里遗漏了什么吗?为什么不将netVoteTally指定为Videos的属性。调用video.new时将其初始化为零,并且可以在视频方法外部访问incNetVideoTallydecNetVideoTally方法吗?只需我0.02美元。