@ -359,7 +359,7 @@ class ExerciseController < ApplicationController
def commit_answer
eq = ExerciseQuestion . find ( params [ :exercise_question_id ] )
# 已提交过的且是限时的则不允许答题
if has_commit_exercise? ( @exercise . id , User . current . id ) && ( ! User . current . admin? ) && @exercise . time != - 1
if ( has_commit_exercise? ( @exercise . id , User . current . id ) && ( ! User . current . admin? ) && @exercise . time != - 1 ) || Time . parse ( format_time ( @exercise . end_time ) ) . strftime ( " %Y-%m-%d %H:%M:%S " ) < Time . now . strftime ( " %Y-%m-%d %H:%M:%S " )
render :json = > { :text = > " failure " }
return
end
@ -376,8 +376,14 @@ class ExerciseController < ApplicationController
ea . exercise_choice_id = params [ :exercise_choice_id ]
if ea . save
# 保存成功返回成功信息及当前以答题百分比
uncomplete_question = get_uncomplete_question ( @exercise , User . current )
if uncomplete_question . count < 1
complete = 1 ;
else
complete = 0 ;
end
@percent = get_percent ( @exercise , User . current )
render :json = > { :text = > " ok " , :percent = > format ( " %.2f " , @percent ) }
render :json = > { :text = > " ok " , : complete = > complete , : percent = > format ( " %.2f " , @percent ) }
else
#返回失败信息
render :json = > { :text = > " failure " }
@ -392,8 +398,14 @@ class ExerciseController < ApplicationController
ea . exercise_question_id = params [ :exercise_question_id ]
ea . exercise_choice_id = params [ :exercise_choice_id ]
if ea . save
uncomplete_question = get_uncomplete_question ( @exercise , User . current )
if uncomplete_question . count < 1
complete = 1 ;
else
complete = 0 ;
end
@percent = get_percent ( @exercise , User . current )
render :json = > { :text = > " ok " , :percent = > format ( " %.2f " , @percent ) }
render :json = > { :text = > " ok " , : complete = > complete , : percent = > format ( " %.2f " , @percent ) }
else
render :json = > { :text = > " failure " }
end
@ -422,8 +434,14 @@ class ExerciseController < ApplicationController
ea . exercise_question_id = params [ :exercise_question_id ]
ea . answer_text = params [ :answer_text ]
if ea . save
uncomplete_question = get_uncomplete_question ( @exercise , User . current )
if uncomplete_question . count < 1
complete = 1 ;
else
complete = 0 ;
end
@percent = get_percent ( @exercise , User . current )
render :json = > { :text = > ea . answer_text , :percent = > format ( " %.2f " , @percent ) }
render :json = > { :text = > ea . answer_text , : complete = > complete , : percent = > format ( " %.2f " , @percent ) }
else
render :json = > { :text = > " failure " }
end
@ -513,7 +531,7 @@ class ExerciseController < ApplicationController
exercise_qustions . each do | question |
answer = get_user_answer ( question , user )
standard_answer = get_user_standard_answer ( question , user )
unless answer . nil ?
unless answer . empty ?
# 问答题有多个答案
if question . question_type == 3
if standard_answer . include? ( answer . first . answer_text )
@ -555,19 +573,6 @@ class ExerciseController < ApplicationController
eu
end
#获取未完成的题目
def get_uncomplete_question exercise , user
all_questions = exercise . exercise_questions
uncomplete_question = [ ]
all_questions . each do | question |
answers = get_user_answer ( question , user )
if answers . nil?
uncomplete_question << question
end
end
uncomplete_question
end
# 获取当前学生回答问题的答案
def get_user_answer ( question , user )
# user_answer = ExerciseAnswer.where("user_id=? and exercise_question_id=?", user.id, question.id).first
@ -586,7 +591,8 @@ class ExerciseController < ApplicationController
standard_answer = question . exercise_standard_answers . first
end
standard_answer
end # 是否完成了答题
end
# 是否完成了答题
def get_complete_question ( exercise , user )
questions = exercise . exercise_questions
complete_question = [ ]