2010-08-30 43 views
5

BlueCloth與Rails 3兼容嗎?我不能讓它工作,也許有人使用它?BlueCloth無法與Rails 3兼容

在要求'bluecloth'後,應該有一個名爲'markdown'的助手可用,但這似乎不可用。

+1

有這個問題,太 – postfuturist 2010-09-26 20:13:11

回答

2

我創建了一個新的Rails應用程序3,並在Gemfile中我加:

gem 'bluecloth', '>= 2.0.0' 

然後打開控制檯:

ruby-1.8.7-p302 > BlueCloth.new('**hello**').to_html 
=> "<p><strong>hello</strong></p>" 

所以它似乎是工作,至少對我來說。

你也可以嘗試Rdiscount,我不是很舒服,但我認爲是基於相同的C庫,或者至少有類似的基準。

你應該更具體地說明它是如何工作的:它是否會引發錯誤?它不呈現HTML嗎?等等......

+0

是的,BlueCloth庫的工作原理,但它有沒有「降價」幫手。 – postfuturist 2010-09-27 16:52:47

+0

我一直在ApplicationHelper中定義我的幫助器,我想BlueGem不是專用於Rails的,BlueGem是否包含Rails幫助器? – Macario 2010-09-27 19:55:00

0

你能做什麼,不能說是漂亮,是建立在你的Rails項目的初始化,並把它下面:

require 'bluecloth' 

class String 
def markdown 
    BlueCloth.new(self).to_html 
end 
end 

這應該在每個字符串啓用降價方法目的。

10

我正在將應用升級到rails3,它對我來說工作得很好。我在模板中使用了一個名爲「format」的助手函數,儘管下面的代碼也提供了一個markdown函數(在rails3中,您必須使用raw())來使用它。這裏是我的[項目]的像以前的海報說的內容/app/helpers/application_helper.rb

module ApplicationHelper 
    # Format text for display.                  
    def format(text) 
    sanitize(markdown(text)) 
    end 

    # Process text with Markdown.                 
    def markdown(text) 
    BlueCloth::new(text).to_html 
    end 
end 

,您還需要

gem 'bluecloth' 

在[項目]/Gemfile中。我的模板的樣子:

<p><%= format @post.body %></p> 

隨着降價的功能那就是:

<p><%= raw(markdown(@post.body)) %></p> 

所以我使用的格式功能。不管你想要什麼,重命名這些功能。

+0

我會將.html_safe添加到助手返回的字符串中。然後它只是「<%= markdown @ post.body%>」,不需要「原始」。 – 2012-10-16 14:01:48