at.*_*at. 7 markdown ruby-on-rails erb ruby-on-rails-3 ruby-on-rails-3.2
我希望用户在textarea中键入Markdown文本,当他们发布时,我会显示相应的html.我读过Rails曾经有一个markdown
方法或类似的方法,你可以只调用ERB文件中的那个字段:
<%= markdown(@post.content) %>
Run Code Online (Sandbox Code Playgroud)
显然,Rails取消了这个功能.再次获得该功能的最佳方法是什么?这似乎解决了我的需要.
Jiř*_*šil 13
我会使用Redcarpet进行markdown-html转换.此外,我会将视图转换为其他对象.您可以使用callbacks(before_save
)或使用Observers.
来自文档:
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML,
:autolink => true, :space_after_headers => true)
markdown.render("This is *bongos*, indeed.")
#=> "<p>This is <em>bongos</em>, indeed</p>"
Run Code Online (Sandbox Code Playgroud)
您可能希望将结果存储在另一列中,@post.content_parsed
这样用户可以稍后对帖子进行编辑,这样您就不需要对每个请求进行转换.