diff --git a/app/controllers/poll_votes_controller.rb b/app/controllers/poll_votes_controller.rb index 81126b044..a2f805a97 100644 --- a/app/controllers/poll_votes_controller.rb +++ b/app/controllers/poll_votes_controller.rb @@ -33,8 +33,7 @@ class PollVotesController < ApplicationController current_user_answer = user_votes.first if current_user_answer&.poll_answer_id != question_answer_id #如果说更换了答案,则以前的答案删除,并新建记录 current_user_answer.destroy - user_votes = PollVote.new(vote_answer_params) - user_votes.save! + PollVote.create(vote_answer_params) else if question_answer_text.present? @@ -43,8 +42,7 @@ class PollVotesController < ApplicationController end end else - user_votes = PollVote.new(vote_answer_params) - user_votes.save! + PollVote.create(vote_answer_params) end elsif question_type == 2 #多选题的话,答案应该是1个以上 question_answer_ids = params[:poll_answer_id] ? params[:poll_answer_id] : [] #该答案的id @@ -102,10 +100,10 @@ class PollVotesController < ApplicationController @current_question_necessary = @poll_question.is_necessary #问答记录存在,且有值,才会有返回值。 @current_question_status = 0 - - if user_votes.present? - vote_answer_id = user_votes.pluck(:poll_answer_id).reject(&:blank?).size - vote_text_count = user_votes.pluck(:vote_text).reject(&:blank?).size + new_user_votes = question_votes.where(user_id: current_user.id) + if new_user_votes.present? + vote_answer_id = new_user_votes.pluck(:poll_answer_id).reject(&:blank?).size + vote_text_count = new_user_votes.pluck(:vote_text).reject(&:blank?).size if vote_text_count > 0 || vote_answer_id > 0 @current_question_status = 1 end