我在我的应用上有一个acts_as_votable实例。但是,我在设置第二个acts_as_votable实例方面遇到了麻烦。
在较高的层面上,除了我已经存在的“我喜欢这篇文章”之外,我想添加一个'Bookmark this post'投票。
有人可以逻辑地告诉我如何做到这一点吗?提前谢谢!
答案 0 :(得分:1)
从概念上讲,两者都是一样的。用户likes
帖子和用户bookmarks
帖子都会为该用户增加+1并为计数器加书签。
您可以像以下一样使用它(使用范围):
class User < ActiveRecord::Base
acts_as_voter
has_many :posts
end
class Post < ActiveRecord::Base
acts_as_votable
belongs_to :user
end
# To like, bookmark a post by a user
@user.likes @post, vote_scope: 'like'
@user.likes @post, vote_scope: 'bookmark'
# Check if a user has liked or bookmarked a post
@user.voted_for? @post, vote_scope: 'like'
@user.voted_for? @post, vote_scope: 'bookmark'
# See a list of user likes and bookmarks
@user.find_voted_items(vote_scope: 'like')
@user.find_voted_items(vote_scope: 'bookmark')
应该这样做。 https://github.com/ryanto/acts_as_votable有全面的例子。