试卷的加入题库修改

dev_course
SylorHuang 6 years ago
parent 3163d8aa33
commit 0cc4f8262c

@ -321,7 +321,7 @@ class ExercisesController < ApplicationController
begin begin
check_ids = Exercise.where(id: params[:check_ids]) check_ids = Exercise.where(id: params[:check_ids])
check_ids.each do |exercise| check_ids.each do |exercise|
current_ex_bank = current_user.exercise_banks.find_by_container(exercise.id,"Exercise").first current_ex_bank = current_user.exercise_banks.find_by_container(exercise.id,"Exercise")&.first
if current_ex_bank.present? #当前用户的选择试卷是否已加入习题库,存在则更新习题库和问题库,否则新建习题库和问题库 if current_ex_bank.present? #当前用户的选择试卷是否已加入习题库,存在则更新习题库和问题库,否则新建习题库和问题库
ex_params = { ex_params = {
:name => exercise.exercise_name, :name => exercise.exercise_name,

@ -182,43 +182,25 @@ class QuestionBanksController < ApplicationController
:shixun_id => q.shixun_id :shixun_id => q.shixun_id
} }
exercise_question = new_exercise.exercise_questions.new option exercise_question = new_exercise.exercise_questions.new option
if exercise_question.save # question_type5实训题其他是非实训题
if q.question_type != 5 if q.question_type != 5
# 复制选择题题目选项 # 复制选择题题目选项
q.exercise_bank_choices.try(:each_with_index) do |choice, index| q.exercise_bank_choices.try(:each_with_index) do |choice, index|
exercise_question.exercise_choices.create({choice_position: index+1, choice_text: choice.choice_text}) exercise_question.exercise_choices.new({choice_position: index+1, choice_text: choice.choice_text})
end end
# 复制标准答案(填空题和问答题) 多空填空题的话应该是原标准答案的exercise_choice_id即为题空的位置。 # 复制标准答案(填空题和问答题) 多空填空题的话应该是原标准答案的exercise_choice_id即为题空的位置。
q.exercise_bank_standard_answers.try(:each) do |answer| q.exercise_bank_standard_answers.try(:each) do |answer|
exercise_question.exercise_standard_answers.create({exercise_choice_id: answer.exercise_bank_choice_id, answer_text: answer.answer_text}) exercise_question.exercise_standard_answers.new({exercise_choice_id: answer.exercise_bank_choice_id, answer_text: answer.answer_text})
end end
else else
# 复制实训题 # 复制实训题
q.exercise_bank_shixun_challenges.try(:each_with_index) do |sc, index| q.exercise_bank_shixun_challenges.try(:each_with_index) do |sc, index|
exercise_question.exercise_shixun_challenges.create({position: index+1, challenge_id: sc.challenge_id, exercise_question.exercise_shixun_challenges.new({position: index+1, challenge_id: sc.challenge_id,
shixun_id: sc.shixun_id, question_score: sc.question_score}) shixun_id: sc.shixun_id, question_score: sc.question_score})
end end
end end
end end
# question_type5实训题其他是非实训题git
# if q.question_type != 5
# # 复制选择题题目选项
# q.exercise_bank_choices.try(:each_with_index) do |choice, index|
# exercise_question.exercise_choices.new({choice_position: index+1, choice_text: choice.choice_text})
# end
#
# # 复制标准答案(填空题和问答题) 多空填空题的话应该是原标准答案的exercise_choice_id即为题空的位置。
# q.exercise_bank_standard_answers.try(:each) do |answer|
# exercise_question.exercise_standard_answers.new({exercise_choice_id: answer.exercise_bank_choice_id, answer_text: answer.answer_text})
# end
# else
# # 复制实训题
# q.exercise_bank_shixun_challenges.try(:each_with_index) do |sc, index|
# exercise_question.exercise_shixun_challenges.new({position: index+1, challenge_id: sc.challenge_id,
# shixun_id: sc.shixun_id, question_score: sc.question_score})
# end
# end
end
# 添加学生 # 添加学生
# if new_exercise.save # if new_exercise.save
# new_exercise.create_exercise_list # new_exercise.create_exercise_list

Loading…
Cancel
Save