我正在尝试使用Rails 4中的 acts_as_votable gem创建一个投票系统。我有三个被提名者可以投票,我希望选民可以选择这三个中的任何一个,只投票一个{ {1}} gem允许选民投票多个被提名者。我如何限制只有一名被提名者?
答案 0 :(得分:0)
如果您跟踪被提名者,您可以在控制器中添加before_action,以检查current_user是否已投票。如果是这样,请闪烁错误并重定向等。
答案 1 :(得分:0)
您可以撰写before_action
回调,以便在调用current_user
操作之前检查vote
是否已经投票。
例如
before_action: :check_if_voted, only: :vote
def check_if_voted
if current_user.voted_for?(@nominee1) || current_user.voted_for?(@nominee2) || current_user.voted_for?(@nominee3)
flash[:notice] = "You have cast your vote already."
end
end
我相信你正在使用单选按钮。