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.
educoder/db/migrate/20190805010546_modify_ke_co...

49 lines
1.5 KiB

class ModifyKeContentsForMarkdown < ActiveRecord::Migration[5.2]
include ActionView::Helpers::SanitizeHelper
def change
def ke_transform_to_md content
return content if content.blank?
s_contents = sanitize(content, tags: %w(img a span table td tr tbody pre), attributes: %w(src href target style))
s_contents.gsub(/^(\n)/, "").gsub(/(\n)+/, "<br>").gsub(/$(\n)/, "")
.gsub(/(\n)+/, "<br>").gsub("\t", " ")
end
# 课程讨论区
MessageDetail.find_each do |m|
content = ke_transform_to_md m.content
m.update_column(:content, content)
end
# 试卷的标题
ExerciseQuestion.find_each do |eq|
question_title = ke_transform_to_md eq.question_title
eq.update_column(:question_title, question_title)
end
# 试卷的答案
ExerciseStandardAnswer.find_each do |esa|
answer_text = ke_transform_to_md esa.answer_text
esa.update_column(:answer_text, answer_text)
end
# 试卷题库的问题标题
ExerciseBankQuestion.find_each do |ebq|
question_title = ke_transform_to_md ebq.question_title
ebq.update_column(:question_title, question_title)
end
# 试卷答案
ExerciseBankStandardAnswer.find_each do |ebsa|
answer_text = ke_transform_to_md ebsa.answer_text
ebsa.update_column(:answer_text, answer_text)
end
# 问卷的标题
PollQuestion.find_each do |pq|
question_title = ke_transform_to_md pq.question_title
pq.update_column(:question_title, question_title)
end
end
end