0

私は Rails を学んでおり、CodeRay を使用してページで素敵な構文の強調表示を行う方法について読んでいます。私が使用するときはrails server問題なく、すべてがうまくいきますが、Heroku にデプロイしようとすると、便利な「問題が発生しました」ページが表示されます。ログによると、ActionView::Template::Error (coderay.css isn't precompiled):. したがって、今のところ Rails アプリから CodeRay を削除したいと考えています。

CSS ファイル、erb ファイル内のリンク、Gemfile からの CodeRay を削除し、適切な測定のために実行bundle installbundle updateましたが、それでも同じエラーが発生します。

2012-05-27T07:41:22+00:00 app[web.1]: Completed 500 Internal Server Error in 98ms
2012-05-27T07:41:22+00:00 app[web.1]: 
2012-05-27T07:41:22+00:00 app[web.1]:     2: <html>
2012-05-27T07:41:22+00:00 app[web.1]:     3: <head>
2012-05-27T07:41:22+00:00 app[web.1]: ActionView::Template::Error (coderay.css isn't precompiled):
2012-05-27T07:41:22+00:00 app[web.1]:     5:   <%= stylesheet_link_tag    "application", "coderay", :media => "all" %>
2012-05-27T07:41:22+00:00 app[web.1]:     4:   <title>RG Simms</title>
2012-05-27T07:41:22+00:00 app[web.1]:     6:   <%= javascript_include_tag "application" %>
2012-05-27T07:41:22+00:00 app[web.1]:     7:   <%= csrf_meta_tags %>
2012-05-27T07:41:22+00:00 app[web.1]:     8:   <link rel="/favicon.ico" alt="gentlemanraptor">

さて、これは本当に奇妙です。stylesheet_link_taghtml.erb のto coderay を削除し、実際の gem を完全にアンインストールして、Heroku に再度デプロイしましたが、同じエラーが発生しました。

現在、cedar スタックとレール 3.2.3 を使用しています。

私は何か間違ったことをしていますか?

4

2 に答える 2

2

他のアセットと一緒に coderay.css をプリコンパイルするよう Rails に指示する必要があります。

# application.rb
config.precompile += %w(coderay.css)

それを試してみてください。

それでもうまくいかない場合は、アセットのプリコンパイル中に application.rb にバンドルされるため、おそらく coderay へのスタイルシート リンク タグを削除する必要があります。

于 2013-01-24T19:36:29.690 に答える
1

最初にアセットをローカルでコンパイルする必要があります。

こちらをご覧ください: https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar

Heroku にプッシュする前に、以下を試してください。

RAILS_ENV=production bundle exec rake assets:precompile
于 2012-05-27T10:15:33.627 に答える