模型是Vote
和Issue
。Issue has_many :votes
. 具有 STI 列类型,当用户对某个问题进行投票时,该列类型由问题索引上的隐藏表单Vote
填充:Upvote
或填充。:Downvote
如何找到任一类型Upvote
或Downvote
给定问题的投票数?现在我在Issue
模型上使用这样的方法:
def upvotes_count(issue_id)
Upvote.count(:conditions => "issue_id = #{issue_id}")
end
def downvotes_count(issue_id)
Downvote.count(:conditions => "issue_id = #{issue_id}")
end
当我循环浏览问题索引上的所有问题时,我从视图中传递了 issue_id,如下所示:
issue.upvotes_count(issue.id)
这是正确的还是有更好的方法?当我已经在实例上运行时,我似乎不必传递 id。我在控制台中玩过试图弄清楚但无法弄清楚。我知道@issue.Upvote.count
行不通。