|
|
|
@ -118,7 +118,6 @@ module ExercisesHelper
|
|
|
|
|
if ex.question_type == Exercise::MULTIPLE #多选题
|
|
|
|
|
user_ids.each do |user_id|
|
|
|
|
|
ex_choice_ids = effictive_users.map{|e| e.exercise_choice_id if e.user_id == user_id}.reject(&:blank?).uniq
|
|
|
|
|
# answer_choice_array = ex_choices.where(id:ex_choice_ids).pluck(:choice_position)
|
|
|
|
|
answer_choice_array = ex_choices.map{|a| a.choice_position if ex_choice_ids.include?(a.id)}.reject(&:blank?).uniq
|
|
|
|
|
if answer_choice_array.sort == standard_answer
|
|
|
|
|
right_users_count += 1
|
|
|
|
@ -127,12 +126,6 @@ module ExercisesHelper
|
|
|
|
|
else #单选题和判断题
|
|
|
|
|
standard_answer_choice_id = ex.exercise_choices.find_by(choice_position: standard_answer.first)&.id
|
|
|
|
|
right_users_count = effictive_users.select{|answer| answer.exercise_choice_id == standard_answer_choice_id}.size
|
|
|
|
|
# user_ids.each do |user_id|
|
|
|
|
|
# answer_choice_array = effictive_users.select(:user_id,:exercise_choice_id).find_by(user_id:user_id)&.exercise_choice&.choice_position
|
|
|
|
|
# if [answer_choice_array] == standard_answer
|
|
|
|
|
# right_users_count += 1
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
percent = effictive_users_count > 0 ? (right_users_count / effictive_users_count.to_f).round(3)*100 : 0.0
|
|
|
|
|