我正在学习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">这真的很奇怪。我删除了html.erb中的stylesheet_link_tag到coderay,完全卸载了实际的gem,并再次部署到Heroku,但出现了相同的错误。
目前使用的是cedar堆栈和rails 3.2.3。
我做错了什么吗?
发布于 2013-01-25 03:36:30
您需要告诉rails将coderay.css与其他资源一起预编译:
# application.rb
config.precompile += %w(coderay.css)试试看。
如果仍然不起作用,您可能需要删除样式表链接标记以进行编码,因为它将在资产预编译期间与您的application.rb捆绑在一起
发布于 2012-05-27 18:15:34
您需要首先在本地编译您的资产。
看看这里:https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar
在推送到Heroku之前,请尝试以下方法。
RAILS_ENV=production bundle exec rake assets:precompilehttps://stackoverflow.com/questions/10772508
复制相似问题