我正试图在我的rails 3博客应用程序中添加一些降价样式。这应该很简单,但我不能让它工作。
我的gemfile中有kramdown
:
gem 'kramdown'
我跑了
bundle install
。我有一个名为kramdown
的应用程序助手module ApplicationHelper
def kramdown(text)
require 'kramdown'
return Kramdown::Document.new(text).to_html
end
end
在我的视图脚本中:
<%= kramdown(@post.body) %>
我收到错误消息:
没有要加载的文件--kramdown
我做错什么了?
最佳答案
我刚开始用克拉姆敦做实验。
只需添加到gem文件,捆绑安装,然后在我的视图中放置以下内容,就可以让它正常工作。
<%= Kramdown::Document.new(@project.body).to_html %>
估计你的问题是需要“克莱姆敦”线。在rails中,这可能是在幕后添加的。我怀疑kramdown文档更关注ruby,而不是rails。开发服务器也需要重新启动。
根据你的建议,下面的建议对我有用。
应用程序帮助程序:
def kramdown(text)
return Kramdown::Document.new(text).to_html
end
观点:
<%= kramdown @project.body %>
不过,我确实遇到了一个问题。当rails使html变得安全时,kramdown的所有html代码都是可见的。为了解决这个问题,我在helper函数中添加了sanitize:
def kramdown(text)
return sanitize Kramdown::Document.new(text).to_html
end
关于ruby - 在Rails 3中使用Kramdown,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3993007/