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 转换为纺织品,也许Clored适合您或阅读此博客

于 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 回答