2

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>

どうすれば作成できますか?編集すると、保存する前と同じように表示されますか?

ありがとう!

4

3 に答える 3

3

テキスタイル コードをテキスタイルに保存したままにして、ビューでのみ HTML への変換を行います。

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

テキスタイルと HTML の間の変換は、良い方法とは思えません。あなたのparse_code方法は、テキストが HTML に変換され、Db に保存されたようです。

ただし、HTML をテキスタイルに変換したい場合は、クロスレッドが適しているか、このブログを読んでください。

于 2010-12-08T20:17:49.603 に答える
1

編集:撃て!質問を間違えました!

そのテキスト領域の値を、ClothRedを使用してテキスタイルに割り当てます。

ClothRed.new(html).to_textile

ごめん!

于 2010-12-08T19:39:02.240 に答える
0

私の理解が正しければ、HTML 出力をデータベースに保存していることになります。そうする代わりに、未加工の Textile コンテンツを保存し、ユーザーに表示するときに HTML に変換します。

于 2010-12-08T20:02:43.803 に答える