2013-04-04 2 views
0

내 레일 앱에 대한 일부 마크 다운을 구문 분석하기 위해 BlueCloth 보석을 사용하려고합니다. HTML로 가격 인하를 렌더링하려면 내 .html.erb 뷰에서Ruby on Rails : BlueCloth gem이 영웅에게 배포되었을 때 프로덕션 환경에서 작동하지 않습니다

gem 'BlueCloth' 

I 사용자 코드

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

을 : 내 보석 파일에 추가. 내 로컬 개발자 환경에서는이 기능이 완벽하게 작동하지만을 실행하고 응용 프로그램을 다시 시작한 후에도 heroku로 푸시하면 응용 프로그램에 액세스하면 내부 서버 오류가 발생합니다.

나는 로그에 다음과 같은 오류가 발생합니다 :

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를 실행 한 :

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

내가 보석 파일에 BlueCloth 있습니다.

도움 주셔서 감사합니다.

+0

Bundler를 실행 한 후에도 BlueCloth 보석이 Heroku 위치에 있는지 확인할 수 있습니까? – summea

+0

당신이 무엇을 의미하는지 완전히 모르겠지만'require 'bluecloth''라고 입력하면 콘솔에서 작동합니다. 그래서 그렇게 생각합니까? –

+0

보석이 Heroku 위치에 있는지 확인할 수 있습니까? –

답변

1

문제는 내가 BlueCloth 보석의 이전 버전을 사용하고 있었다이었다 : 당신의 레일 버전에 따라, 여기 당신을 도움이 될 두 개의 링크가 있습니다.

오래된 보석 BlueCloth라고하며 새 내 보석 파일의 라인을 변경

bluecloth라고 :

gem 'BlueCloth' 

에 :

gem `bluecloth` 

가 수정되었습니다.

감사합니다.

1

파일을 수동으로 요구하는 것처럼 보입니다. bundler ~ require을 모두 사용하면 다른 .rb 파일에 require을 추가하지 않아도됩니다. 매우 간단합니다.

Rails 2.3

Rails 3

+0

불행히도 그러한 경우는 아닙니다. 이미 bundler를 사용하고 있으며 원래의 게시물에 내 보석 파일을 추가했습니다. –

+1

@PaulBenigeri ApplicationController 위에 'bluecloth'가 필요하고 Gemfile에서 소문자로 변경하십시오. 한 번 나에게 일어났습니다. 차이가 있는지 확인하십시오. 그렇지 않으면 다른 가능한 문제로 이동할 수 있습니다. – ny95