我将rails应用程序更改为生产模式,然后将其部署到Heroku,发现资产显然未在生产模式下访问。我能够通过预编译资产来解决这个问题,但是现在在改变了一些东西然后推送到Heroku之后我又回到了原点,css和bootstrap无效。我头脑中的所有链接都是这样的:
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'style', media: 'all', 'data-turbolinks-track':
'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"> .
</script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"> .
</script>
<link href="https://fonts.googleapis.com/css?family=Playfair+Display"
rel="stylesheet">
由于某些原因,样式表似乎没有加载,但大多数图像都是,所以我猜这不是所有的资产。我试图通过查看日志找到问题的线索,但我无法识别任何错误。请帮忙提出建议,我不知道接下来要尝试什么,谢谢: - )
答案 0 :(得分:2)
在样式表链接标记中,尝试更改&#39;样式&#39;到应用程序&#39;
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
通过加载应用程序样式表,您也可以加载所有自定义样式表,只要您有:
*= require_tree .
*= require_self
包含在application.scss文件中。查看导轨指南中的任何问题总是一个好主意=&gt; http://guides.rubyonrails.org/asset_pipeline.html#in-production
特别是在这种情况下,第2.3节:编码链接到资产,2.4:清单文件和指令,以及4:生产。
答案 1 :(得分:0)
请在将app部署到Heroku之前使用
rake assets:precompile
然后
git add .
git commit -m "some"
git push heroku master