2010-10-22 44 views
2

我試圖在我的Rails 3博客應用程序中添加一些Markdown樣式。這應該是簡單的,但我不能得到它的工作。在Rails 3中使用kramdown 3

我有kramdown在我的Gemfile:

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

我在做什麼錯?

回答

9

我剛開始嘗試使用Kramdown。

通過添加到gem文件,捆綁安裝,然後在我的視圖中放入以下內容,就可以實現它的工作。

<%= Kramdown::Document.new(@project.body).to_html %> 

估計你的問題是需要 'kramdown'線。使用Rails可能會在幕後添加。我懷疑kramdown文檔比Rails更專注於Ruby。開發者服務器確實需要重新啓動。

使用你的建議做一個幫手,以下適用於我。

應用助手:

def kramdown(text) 
    return Kramdown::Document.new(text).to_html 
end 

查看:

<%= kramdown @project.body %> 

我雖然沒有遇到問題。當Rails使HTML安全時,所有kramdown的HTML代碼都可見。爲了解決這個問題,我添加了輔助功能的消毒功能:

def kramdown(text) 
    return sanitize Kramdown::Document.new(text).to_html 
end 
+0

我想我可能忘記重啓dev服務器了。 – Andrew 2010-11-02 15:41:28

+2

然後你應該接受他的答案。 – DNJohnson 2012-08-12 07:14:42