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/, "").gsub(" ", "").gsub(/(\n)+/, "
")
.gsub("\t", " ").gsub("\n", "").gsub(" ", " ").gsub(/(
)+/, "
")
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