And*_*rew 2 ruby ruby-on-rails-3
我正在尝试将一些Markdown样式添加到我的Rails 3博客应用程序中.这应该是简单的,但我不能让它工作.
我有kramdown我的Gemfile:
gem 'kramdown'
Run Code Online (Sandbox Code Playgroud)
我跑bundle install.我有一个名为的应用程序助手kramdown
module ApplicationHelper
def kramdown(text)
require 'kramdown'
return Kramdown::Document.new(text).to_html
end
end
Run Code Online (Sandbox Code Playgroud)
在我的视图脚本中:
<%= kramdown(@post.body) %>
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
没有这样的文件加载 - kramdown
我究竟做错了什么?
Ben*_*Ben 10
我刚刚开始尝试使用Kramdown.
只需添加到gem文件,bundle install,然后在我的视图中添加以下内容即可实现.
<%= Kramdown::Document.new(@project.body).to_html %>
Run Code Online (Sandbox Code Playgroud)
认为你的问题是需要'kramdown'线.使用Rails,这可能会在幕后添加.我怀疑kramdown文档更专注于Ruby而不是Rails.开发服务器确实需要重启.
使用你的帮助建议,以下适用于我.
申请助手:
def kramdown(text)
return Kramdown::Document.new(text).to_html
end
Run Code Online (Sandbox Code Playgroud)
视图:
<%= kramdown @project.body %>
Run Code Online (Sandbox Code Playgroud)
我确实碰到了一个问题.所有kramdown的HTML代码都可见,因为Rails使HTML安全.为了解决这个问题,我在辅助函数中添加了sanitize:
def kramdown(text)
return sanitize Kramdown::Document.new(text).to_html
end
Run Code Online (Sandbox Code Playgroud)