我已经在Ruby on Rails上实现了一个带有acts_as_votable gem的投票系统,用于喜欢帖子(upvote / downvote)。现在我想为帖子创建另一种投票类型。喜欢接受答案/不接受答案。有可能吗?
答案 0 :(得分:0)
这确实是可能的。
虽然,您可能会丢失一些辅助方法。
Acts As Votable允许您使用范围。所以你可以很容易地说
current_user.likes @post, voter_scope: "endorsement"
您可以查看所有投票以获得
的认可@post.find_votes_for vote_scope: "endorsement"
对于已接受的答案也是如此
current_user.likes @post, voter_scope: "acceptance"
@post.find_votes_for vote_scope: "acceptance"
- 小心使用“喜欢”,“不喜欢”和“投票”这样的词语作为范围,因为这些是这些宝石的某些用法中的方法名称,可能会让人感到非常困惑。
所以,即使文档说每个选民模型只能投一票,但它的真正含义是每个模型只能有一个SCOPED投票。