You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							49 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							49 lines
						
					
					
						
							1.8 KiB
						
					
					
				module ExerciseQuestionsHelper
 | 
						|
  def get_exercise_question_info(question,exercise,ex_user,ex_answerer_id)
 | 
						|
    answered_content = []
 | 
						|
    exercise_answers = question.exercise_answers.search_exercise_answer("user_id",ex_answerer_id)  #试卷用户的回答
 | 
						|
    if question.question_type <= 2
 | 
						|
      answered_content = exercise_answers.pluck(:exercise_choice_id)
 | 
						|
    elsif question.question_type == 3
 | 
						|
      exercise_answers.each do |a|
 | 
						|
        u_answer = {
 | 
						|
            "choice_id": a.exercise_choice_id,
 | 
						|
            "answer_text": a.answer_text
 | 
						|
        }
 | 
						|
        answered_content.push(u_answer)
 | 
						|
      end
 | 
						|
    elsif question.question_type == 4
 | 
						|
      answered_content = exercise_answers.pluck(:answer_text)
 | 
						|
    end
 | 
						|
    if question.question_type == 5 && ex_user.present? && ex_user.commit_status == 1 #存在实训题,且用户已提交了的,如果实训题只做了一半就关闭,则相当于不要了
 | 
						|
      if exercise.exercise_status == 3  #如果试卷已截止,则可以看到分数,否则不能查看分数
 | 
						|
        shixun_type = 2
 | 
						|
      else
 | 
						|
        shixun_type =1
 | 
						|
      end
 | 
						|
    else
 | 
						|
      shixun_type = 0
 | 
						|
    end
 | 
						|
    {
 | 
						|
        "answered_content":answered_content,
 | 
						|
        "shixun_type":shixun_type
 | 
						|
    }
 | 
						|
  end
 | 
						|
 | 
						|
  def shixun_game_scores(challenge,ex_answerer,shixun_type,question_id)
 | 
						|
    game_score = challenge.question_score
 | 
						|
    game_answers = challenge.exercise_shixun_answers.where(user_id:ex_answerer.id,exercise_question_id:question_id)
 | 
						|
    if shixun_type == 2 && game_answers.present?  #试卷已截止,用户才可以查看答案
 | 
						|
      s_score = game_answers.first.score
 | 
						|
    else
 | 
						|
      s_score = nil
 | 
						|
    end
 | 
						|
    games = ex_answerer.games.ch_games(challenge.challenge_id).uniq
 | 
						|
    {
 | 
						|
        "games":games,
 | 
						|
        "s_score":s_score,
 | 
						|
        "game_score":game_score
 | 
						|
    }
 | 
						|
  end
 | 
						|
end
 |