2013-04-04 81 views
0

我正嘗試使用BlueCloth gem來解析我的rails應用程序的某些降價。我把它添加到我的寶石文件:Ruby on Rails:BlueCloth gem在部署到heroku時無法在生產環境中工作

gem 'BlueCloth' 

在我.html.erb觀點我的用戶代碼

<%= BlueCloth.new(post.content).to_html.html_safe %> 

要渲染降價爲HTML。這在我的本地開發環境中完全正常,但是當我推送到heroku時,即使運行bundle install並重新啓動應用程序,訪問應用程序也會生成內部服務器錯誤。

我獲取日誌中的以下錯誤:

ActionView::Template::Error (uninitialized constant ActionView::CompiledTemplates::BlueCloth): 

我包括BlueCloth在寶石文件:

source 'https://rubygems.org' 

gem 'rails', '3.2.8' 

gem 'pg' 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

gem 'devise' 
gem 'BlueCloth' 

我也通過Heroku的命令行運行命令bundle install

感謝您的幫助!

+0

你確定知道BlueCloth的寶石可以在你的Heroku位置上使用......即使在運行Bundler後也是如此? – summea 2013-04-04 23:18:13

+0

不完全確定你的意思,但在我輸入'require'bluecloth'後,這在控制檯中工作,所以我認爲是這樣嗎? – 2013-04-04 23:31:19

+0

如何檢查Heroku位置上是否有寶石? – 2013-04-04 23:47:13

回答

1

的問題是,我用的是舊版本的BlueCloth寶石。

舊的寶石被稱爲BlueCloth,而新的被稱爲bluecloth

在我的寶石文件更改行:

gem 'BlueCloth' 

要:

gem `bluecloth` 

固定它。

謝謝。

1

它看起來像你手動要求的文件。如果您使用bundlerrequire所有內容,並且您不必將require添加到任何其他.rb文件中,則對您而言可能更容易。這很簡單。根據你的Rails版本,這裏有兩個環節應該幫助你:

Rails 2.3

Rails 3

+0

不幸的是,事實並非如此。我已經使用了捆綁器,並且在原始文章中添加了我的gem文件。 – 2013-04-04 23:43:09

+1

@PaulBenigeri在你的ApplicationController上面,嘗試並放入require'bluecloth',然後在你的Gemfile中將其改爲小寫,這種事情發生在我身上,看看它是否有所作爲,如果不是,那麼我們可以轉向其他可能的問題。 – ny95 2013-04-04 23:48:41

相關問題