簡體   English   中英

Ruby on Rails act_as_votable寶石

[英]Ruby on Rails acts_as_votable gem

我正在嘗試使用Rails 4中的acts_as_votable gem創建一個投票系統。我有三名候選人需要投票,我希望一個投票者從這三個候選人中選擇一個,然后只投票給一個nominee.acts_as_votable允許投票者投票多個候選人。 我如何只限制一名候選人?

如果您跟蹤被提名者,則可以在控制器中添加一個before_action,以檢查current_user是否已經投票。 如果是這樣,請刷新錯誤並重定向它們,等等。

您可以編寫一個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

而且我相信您在表單中使用了單選按鈕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM