试卷的位置问题迁移

dev_hs
SylorHuang 6 years ago
parent 2f67425e2a
commit fd3dfaaa59

@ -348,7 +348,7 @@ class ExerciseQuestionsController < ApplicationController
#当试卷已发布时(试卷的总状态),当标准答案修改时,如有已提交的学生,需重新计算分数.
if @exercise.exercise_status == Exercise::PUBLISHED
if @exercise.exercise_status >= Exercise::PUBLISHED
ex_users_committed = @exercise.exercise_users.exercise_user_committed
if ex_users_committed.size > 0
ex_users_committed.each do |ex_user|

@ -1,16 +1,27 @@
class ChangeExercise1930Position < ActiveRecord::Migration[5.2]
def change
#正式版的1930试卷的位置出现问题
#
ex = Exercise.find_by(id:1930)
ex.exercise_questions.each_with_index do |q,index|
q.update_attributes(question_number:index+1)
exs = Exercise.all.includes(:exercise_questions)
exs.each do |ex|
ex_questions = ex&.exercise_questions&.select(:id,:question_number,:exercise_id)&.order("question_number ASC")
if ex_questions.exists?
ex_questions.each_with_index do |q,index|
q_num = index + 1
if q.question_number.to_i != q_num
q.update_attributes(question_number: q_num)
end
end
end
ex_q_bank = ex.exercise_bank.exercise_bank_questions
ex_q_bank = ex&.exercise_bank&.exercise_bank_questions&.select(:id,:question_number,:exercise_bank_id,:shixun_id)&.order("question_number ASC")
if ex_q_bank.exists?
ex_q_bank.each_with_index do |q,index|
q.update_attributes(question_number:index+1)
q_num_1 = index + 1
if q.question_number.to_i != q_num_1
q.update_attributes(question_number: q_num_1)
end
end
end
end
end
end

Loading…
Cancel
Save