部署到 Heroku:CodeRay 未预编译 - 如何删除



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

我从我的 Gemfile 中删除了 CSS 文件、erb 文件中的链接 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">

现在,这真的很奇怪。我已经删除了 html.erb 中对 coderay 的stylesheet_link_tag,完全卸载了实际的 gem,并再次部署到 Heroku,但出现相同的错误。

目前使用 cedar 堆栈和轨道 3.2.3。

我做错了什么吗?

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

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

试试看。

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

您需要先在本地编译资产。

看看这里: https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar

在推送到 Heroku 之前尝试以下操作。

RAILS_ENV=production bundle exec rake assets:precompile

相关内容

  • 没有找到相关文章

最新更新