0

我正在学习 Rails 并阅读了有关使用 CodeRay 在您的页面中突出显示可爱的语法的信息。当我使用rails server它时它很好,一切都很好,但是当我尝试部署到 Heroku 时,我得到了有用的“出现问题”页面。根据日志,ActionView::Template::Error (coderay.css isn't precompiled):. 所以我现在想从我的 Rails 应用程序中删除 CodeRay。

我删除了 CSS 文件、erb 文件中的链接、我的 Gemfile 中的 CodeRay,运行bundle install良好bundle 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 中的 coderay,完全卸载了实际的 gem,然后再次部署到 Heroku,但出现了同样的错误。

当前使用 cedar 堆栈和 rails 3.2.3。

难道我做错了什么?

4

2 回答 2

2

您需要告诉 rails 预编译 coderay.css 以及您的其他资产:

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

试试看。

如果它仍然不起作用,您可能需要将样式表链接标签删除到 coderay,因为它会在资产预编译期间与您的 application.rb 捆绑在一起

于 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 回答