2013-04-04 2 views
0

Я пытаюсь использовать драгоценный камень BlueCloth, чтобы разобрать некоторую уценку для моего приложения rails. Я добавил его в моем драгоценном камне файл:Ruby on Rails: драгоценный камень BlueCloth не может работать в производстве при развертывании в heroku

gem 'BlueCloth' 

В моих .html.erb взглядах I пользователю код

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

Оказать уценки как HTML. Это отлично работает в моей локальной среде разработчиков, но когда я нажимаю на герою, даже после запуска 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' 

Я также запустить команду bundle install через командную строку Heroku.

Спасибо за помощь!

+0

Знаете ли вы, что драгоценный камень BlueCloth доступен на вашем месте в Heroku ... даже после запуска Bundler? – summea

+0

Не совсем уверен, что вы имеете в виду, но это работает в консоли после того, как я набираю 'require 'bluecloth'', так что я так думаю? –

+0

Как я могу проверить, что драгоценный камень доступен на месте Heroku? –

ответ

1

Проблема в том, что я использовал старую версию BlueCloth камень.

старый камень называется BlueCloth и новый один называется bluecloth

Изменение строки в моем файле гем:

gem 'BlueCloth' 

To:

gem `bluecloth` 

Fixed его.

Спасибо.

1

Похоже, что у вас требуются файлы вручную. Это может быть проще для вас, если вы используете bundler для require все для вас, а затем вам не нужно добавлять require в любой другой файл .rb. Это очень просто сделать. В зависимости от версии Rails, вот две ссылки, которые должны помочь вам:

Rails 2.3

Rails 3

+0

К сожалению, это не тот случай. Я уже использую bundler, и я добавил свой файл gem в исходное сообщение. –

+1

@PaulBenigeri Над вашим ApplicationController попробуйте поставить «bluecloth», а в вашем Gemfile измените его на нижний регистр, это случилось со мной один раз, посмотрите, не изменилось ли это, если нет, тогда мы сможем перейти к другим возможным проблемам. – ny95