我在 Ruby on Rails 上使用acts_as_votable gem 实现了一个投票系统,用于喜欢帖子(upvote/downvote)。现在我也想为帖子创建另一种投票类型。喜欢接受答案/不接受答案。有可能这样做吗?
问问题
327 次
1 回答
1
这确实是可能的。
尽管如此,您可能会丢失一些辅助方法。
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"
-- 小心使用带有“like”、“dislike”和“vote”之类的词的作用域——因为这些是该 gem 的某些用途中的方法名称,可能会让人非常困惑。
因此,即使文档说每个选民模型只能有一个投票,它的真正含义是每个模型只能有一个 SCOPED 投票。
于 2016-04-11T05:27:48.493 回答