我正试图在我的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/

10-11 01:37