diff --git a/app/controllers/polls_controller.rb b/app/controllers/polls_controller.rb index 63511c8f9..0c442a613 100644 --- a/app/controllers/polls_controller.rb +++ b/app/controllers/polls_controller.rb @@ -1409,23 +1409,29 @@ class PollsController < ApplicationController poll_questions.each do |q| user_poll_votes = u_user.poll_votes.find_current_vote("poll_question_id",q.id) if user_poll_votes.present? - user_poll_answer_ids = user_poll_votes.pluck(:poll_answer_id).reject(&:blank?) - user_poll_vote_texts = user_poll_votes.pluck(:vote_text).reject(&:blank?) - if user_poll_answer_ids.count > 0 - answer_content = q.poll_answers.find_answer_by_custom("id",user_poll_answer_ids) - if user_poll_answer_ids.count >1 - u_answer = answer_content.pluck(:answer_text).join(";") + if q.question_type < 3 + user_poll_answer_ids = user_poll_votes.pluck(:poll_answer_id).reject(&:blank?) + if user_poll_answer_ids.count > 0 + answer_content = q.poll_answers.find_answer_by_custom("id",user_poll_answer_ids) + if user_poll_answer_ids.count >1 + u_answer = answer_content.pluck(:answer_text).join(";") + else + u_answer = answer_content.first&.answer_text + end else - u_answer = answer_content.first&.answer_text + u_answer = "--" end - elsif user_poll_vote_texts.count > 0 - if user_poll_vote_texts.count > 1 - u_answer = user_poll_vote_texts.join(";") + else + user_poll_vote_texts = user_poll_votes.pluck(:vote_text).reject(&:blank?) + if user_poll_vote_texts.count > 0 + if user_poll_vote_texts.count > 1 + u_answer = user_poll_vote_texts.join(";") + else + u_answer = user_poll_vote_texts.first + end else - u_answer = user_poll_vote_texts.first + u_answer = "--" end - else - u_answer = "--" end else u_answer = "--" diff --git a/app/views/polls/_commit_answers_result.json.jbuilder b/app/views/polls/_commit_answers_result.json.jbuilder index 51e84000b..2d33731f1 100644 --- a/app/views/polls/_commit_answers_result.json.jbuilder +++ b/app/views/polls/_commit_answers_result.json.jbuilder @@ -21,7 +21,5 @@ json.question do json.answer_percent question_vote_user.present? ? (answer_users_count.to_f / question_vote_user.to_f).round(3) : 0.0 end end - if question_votes.find_vote_text.present? - json.vote_text question_votes.pluck(:vote_text).reject(&:blank?) #问题的回答是否有用户手动输入的内容 - end + json.vote_text question_votes.find_vote_text.present? ? question_votes.pluck(:vote_text).reject(&:blank?) : "--" #问题的回答是否有用户手动输入的内容 end \ No newline at end of file