|
|
|
@ -1,8 +1,9 @@
|
|
|
|
|
class ExerciseController < ApplicationController
|
|
|
|
|
layout "base_courses"
|
|
|
|
|
|
|
|
|
|
before_filter :find_exercise_and_course, :only => [:create_exercise_question, :edit,:update]
|
|
|
|
|
before_filter :find_exercise_and_course, :only => [:create_exercise_question, :edit, :update, :show]
|
|
|
|
|
before_filter :find_course, :only => [:index,:new,:create,:student_exercise_list]
|
|
|
|
|
helper :Exercise
|
|
|
|
|
|
|
|
|
|
include ExerciseHelper
|
|
|
|
|
def index
|
|
|
|
@ -48,7 +49,8 @@ class ExerciseController < ApplicationController
|
|
|
|
|
:time => "",
|
|
|
|
|
:end_time => "",
|
|
|
|
|
:publish_time => "",
|
|
|
|
|
:exercise_description => ""
|
|
|
|
|
:exercise_description => "",
|
|
|
|
|
:show_result => ""
|
|
|
|
|
}
|
|
|
|
|
@exercise = Exercise.create option
|
|
|
|
|
if @exercise
|
|
|
|
@ -89,6 +91,7 @@ class ExerciseController < ApplicationController
|
|
|
|
|
@exercise.time = params[:exercise][:time]
|
|
|
|
|
@exercise.end_time = params[:exercise][:end_time]
|
|
|
|
|
@exercise.publish_time = params[:exercise][:publish_time]
|
|
|
|
|
@exercise.publish_time = params[:exercise][:show_result]
|
|
|
|
|
if @exercise.save
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.js
|
|
|
|
@ -119,17 +122,18 @@ class ExerciseController < ApplicationController
|
|
|
|
|
option = {
|
|
|
|
|
:question_title => question_title,
|
|
|
|
|
:question_type => params[:question_type] || 1,
|
|
|
|
|
:question_number => @exercise.exercise_questions.count + 1
|
|
|
|
|
:question_number => @exercise.exercise_questions.count + 1,
|
|
|
|
|
:question_score => params[:question_score]
|
|
|
|
|
}
|
|
|
|
|
@exercise_questions = @exercise.exercise_questions.new option
|
|
|
|
|
if params[:question_answer]
|
|
|
|
|
for i in 1..params[:question_answer].count
|
|
|
|
|
answer = (params[:question_answer].values[i-1].nil? || params[:question_answer].values[i-1].empty?) ? l(:label_new_answer) : params[:question_answer].values[i-1]
|
|
|
|
|
question_option = {
|
|
|
|
|
:answer_position => i,
|
|
|
|
|
:answer_text => answer
|
|
|
|
|
:choice_position => i,
|
|
|
|
|
:choice_text => answer
|
|
|
|
|
}
|
|
|
|
|
@exercise_questions.exercise_answers.new question_option
|
|
|
|
|
@exercise_questions.exercise_choices.new question_option
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
# 如果是插入的话,那么从插入的这个id以后的question_num都将要+1
|
|
|
|
@ -140,6 +144,10 @@ class ExerciseController < ApplicationController
|
|
|
|
|
@exercise_questions.question_number = params[:quest_num].to_i + 1
|
|
|
|
|
end
|
|
|
|
|
if @exercise_questions.save
|
|
|
|
|
standart_answer = ExerciseStandardAnswer.new
|
|
|
|
|
standart_answer.exercise_question_id = @exercise_questions.id
|
|
|
|
|
@exercise_questions.question_type == 3 ? standart_answer.answer_text = params[:exercise_choice] : standart_answer.exercise_choice_id = params[:exercise_choice]
|
|
|
|
|
standart_answer.save
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.js
|
|
|
|
|
end
|
|
|
|
|