Ruby on rails 对Rails使用Markdown

Ruby on rails 对Rails使用Markdown,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,markdown,erb,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,Markdown,Erb,我希望用户在文本区域中键入标记文本,当他们发布它时,我会显示相应的html。我了解到Rails过去有一个标记方法或类似的方法,您可以在ERB文件中调用该字段: <%= markdown(@post.content) %> 显然,Rails取消了这一功能。重新获得该功能的最佳方式是什么?这似乎解决了我的需要。我会用它来做减价html转换。此外,我会将转换从视图移动到其他对象。您可以在保存之前使用()或使用 发件人: markdown=red地毯::markdown.new(red

我希望用户在文本区域中键入标记文本,当他们发布它时,我会显示相应的html。我了解到Rails过去有一个
标记
方法或类似的方法,您可以在ERB文件中调用该字段:

<%= markdown(@post.content) %>

显然,Rails取消了这一功能。重新获得该功能的最佳方式是什么?这似乎解决了我的需要。

我会用它来做减价html转换。此外,我会将转换从视图移动到其他对象。您可以在保存之前使用(
)或使用

发件人:

markdown=red地毯::markdown.new(red地毯::Render::HTML,
:autolink=>true,:headers=>true后加空格)
render(“这确实是*bongos*”)
#=>“这是邦戈,真的


您可能希望将结果存储在另一列中,例如
@post.content\u parsed
,这样用户可以在以后对帖子进行编辑,而且这样您就不需要在每次请求时进行转换。

提供的解决方案已经变成了gem
emd
。你可以读更多

将以下行添加到应用程序的GEM文件:

gem 'coderay' #optional for Syntax Highlighting
gem 'redcarpet'
gem 'emd'
然后执行:

bundle

要创建标记部分、查看或启用代码块上的语法高亮显示,请访问

在Rails应用程序中实例化RedHeart::markdown对象的最佳位置是哪里?RedHeart github页面建议只实例化一次
RedHeart::markdown
,然后根据需要调用
render
。有道理,但是我在Rails应用程序中在哪里只实例化一次
red地毯::Markdown
?在这种情况下,您可以创建自己的初始值设定项,并将新创建的对象分配给常量,使其可用于整个应用程序。尽管我永远不会这么做——引入和依赖常量会使测试变得困难,特别是在隔离状态下。
bundle