我正在尝试使用Rails 4 中的acts_as_votable gem 创建一个投票系统。我要从三个被提名者中投票,我希望选民从这三个中的任何一个中进行选择,并且只投票一个nominee.acts_as_votable
gem 允许选民投票多个被提名者。我如何限制只有一个被提名人?
问问题
403 次
2 回答
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
而且我相信您在表单中使用单选按钮。
于 2016-05-22T12:49:48.653 回答
0
如果您跟踪被提名者,您可以在控制器中添加 before_action 来检查 current_user 是否已经投票。如果是这样,请闪烁错误并重定向它们等。
于 2016-05-22T03:42:47.900 回答