如何限制'acts_as_votable'gem中的投票数

How to limit the number of votes in 'acts_as_votable' gem

我目前正在使用 ruby​​gem acts_as_votable as the voting system in my project, but I want to limit the total votes of every user (which I used rubygem devise)

投票对象是一个名为Pin的模型:

class Pin < ActiveRecord::Base
   acts_as_votable 
end

我是否应该使用 method 并将其放入 before_action: 以确保您的投票不会让您的总票数超过 10?

更新时间:2015 年 8 月 18 日

现在我突然想到了一个新问题: 我创建了另一个模型group,声明关系:

(group.rb)

has_many: pins

(pin.rb)

belongs_to: group

所以,问题来了,如果我想限制每个组的投票,比如:第1组10人,第2组10人,第10组10人3....

我该如何完成?

你可以这样做:

def upvote
  @pin = Pin.find(params[:id])
   # check for user's total votes
  if current_user.find_voted_items.size < 10
    @pin.vote_by :voter => current_user
  else
    ..... #your code
    flash[:notice] = "your total votes exceed"
    redirect_to pins_path
  end
end