Как преобразовать RedCloth.to_html обратно в редактируемый ванильный текст? - PullRequest
2 голосов
/ 08 декабря 2010

Я с помощью RedCloth сохранил простой текст в форме и преобразовал его в HTML.Например, если записать это в мою форму и сохранить ее, то она будет отображаться точно так же, как я написал:

This sentence
gets inserted into it
proper html syntax
to preserve line breakage.

С этим кодом:

def parse_code
  self.text = RedCloth.new(text).to_html
end

И тогда яможно снова отобразить это с помощью:

= raw post.text

Но когда я хочу отредактировать его, оно возвращается ко мне как:

<p>This sentence</p>
<p>gets inserted into it</p>
<p>proper html syntax</p>
<p>to preserve line breakage</p>

Как я могу сделать это, чтобы при редактированиион выглядит так же, как и до того, как я его сохранил?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 08 декабря 2010

Я бы оставил текстильный код, сохраненный в текстиле, и сделал бы преобразование в HTML только в представлении:

= raw RedCloth.new(@post.text).to_html

Преобразование между текстилем и HTML не кажется хорошей практикой. Ваш метод parse_code кажется, что он заставил ваш текст быть преобразован в HTML .. и затем сохранен в БД.

Однако, если вы хотите преобразовать HTML в текстиль, возможно, одежда для вас или прочитайте этот блог .

1 голос
/ 08 декабря 2010

Редактировать : Стреляй! Я неправильно понял вопрос!

Вы присвоите значение этой текстовой области текстилю, используя ClothRed :

ClothRed.new(html).to_textile

Извините!

0 голосов
/ 08 декабря 2010

Если я вас правильно понял, вы сохраняете вывод HTML в базе данных. Вместо этого сохраните необработанное текстильное содержимое, а затем преобразуйте его в HTML при отображении его пользователю.

...