rails,acts_as_votable第二个实例

时间:2014-10-29 02:19:04

标签: ruby-on-rails ruby model gem

我在我的应用上有一个acts_as_votable实例。但是,我在设置第二个acts_as_votable实例方面遇到了麻烦。

在较高的层面上,除了我已经存在的“我喜欢这篇文章”之外,我想添加一个'Bookmark this post'投票。

有人可以逻辑地告诉我如何做到这一点吗?提前谢谢!

1 个答案:

答案 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有全面的例子。