鉴于关系
{
proposals(id, ...),
reviewers(id, ...),
comments(id, user_id, proposal_id, ...),
votes(id, user_id, proposal_id, ...)
}
如何创建从投票到评论的关联?每个审阅者可以对提案“创建投票的唯一索引(user_id,proposal_id)”进行一次投票,并且可以多次发表评论。审稿人可以发表评论,不进行投票或投票,也不进行评论,这样他们就不会对投票和评论产生依赖关系。从投票模型我希望关联匹配的许多评论(user_id,proposal_id)。这些是与审稿人对提案进行投票相关的评论。
协会
class Vote < ActiveRecord::Base
belongs_to :reviewer
belongs_to :proposal
has_many :comments, :through => :proposal
end
将收集所有评论者的评论。同样
has_many :comments, :through => :reviewer
将产生所有提案的评论。我想要上述两组评论的交集。
是否可以
has_many :comments, :through => [:reviewer, :proposal]
或
has_many :comments, :through => :reviewer, :scope => :proposal_id
这些都不奏效。解决这个问题的最佳方法是什么 - 或者我只需要阅读更多文档?
答案 0 :(得分:1)
我认为你没有太多运气。我会尝试更简单的方法,只需对投票模型进行评论,例如:
def comments
Comment.find_all_by_proposal_id_and_user_id(self.proposal_id,self.user_id)
end
就这样,你就可以安装了。