@ -108,14 +108,16 @@ module ExercisesHelper
ques_less_title = nil
ex_answers = ex . exercise_answers
effictive_users = ex_answers . search_answer_users ( " user_id " , user_ids )
effictive_users_count = effictive_users . where ( " exercise_choice_id is not null or (answer_text is not null and answer_text !='') " ) . pluck ( :user_id ) . uniq . size if ex . question_type != Exercise :: COMPLETION
else
ques_title = ex . shixun . name
ques_less_title = ex . question_title
ex_answers = ex . exercise_shixun_answers
effictive_users = ex_answers . search_shixun_answers ( " user_id " , user_ids )
effictive_users_count = effictive_users . pluck ( :user_id ) . uniq . size
end
effictive_users_count = effictive_users . size #有效回答数, 可能有重复的用户id, 这里仅统计是否回答这个问题的全部人数
# effictive_users_count = effictive_users.size #有效回答数, 可能有重复的用户id, 这里仅统计是否回答这个问题的全部人数
#
if ex . question_type > Exercise :: COMPLETION #当为主观题和实训题时,
ex_answered_scores = effictive_users . score_reviewed . pluck ( :score ) . sum #该问题的全部得分
@ -125,9 +127,9 @@ module ExercisesHelper
if ex . question_type < = Exercise :: JUDGMENT #选择题和判断题
ex_choices = ex . exercise_choices
standard_answer = ex . exercise_standard_answers . pluck ( :exercise_choice_id ) . sort #标准答案的位置
right_users_count = 0
#该问题的正确率
if ex . question_type == Exercise :: MULTIPLE #多选题
if standard_answer . size == 1 #以前的多选题答案存在一个表里
standard_answer = standard_answer . first . to_s . split ( " " ) . map ( & :to_i )
end