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.
49 lines
1.5 KiB
49 lines
1.5 KiB
6 years ago
|
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
|