一个令人尴尬的问题,但我似乎无法将文档翻译成实际的form_for。这是所有网站提供的..
RedCloth.new("Some text").to_html
#=> "<p>Some text</p>"
我知道这就是我保存后解析它的方式。但是如何将其保存为标记文本?
这是我尝试开始这个,但我不知道如何设置参数以将textarea保存为RedCloth。有什么想法吗?
- form_for @text do |f|
# some RedCloth instantiation
f.submit
答案 0 :(得分:3)
您不会像这样保存解析为RedCloth的参数,也不会推荐它。将其解析为RedCloth将导致原始值丢失,除非您将输出存储在备用字段中,这是我 推荐的。
您可以在模型中使用before_save
来解析该值并将其存储:
before_save :parse_text
# your model methods go here
private
def parse_text
self.parsed_text = RedCloth.new(text).to_html
end
如果要在视图中呈现parsed_text
值,则必须通过执行此操作告诉Rails它是安全的:
@object.parsed_text.html_safe
但是,此处包含的代码并不能说明人们混合使用Markdown和HTML,因此请非常小心使用它。