部署到Heroku后缺少bootstrap样式

时间:2015-10-26 17:01:22

标签: css ruby-on-rails ruby twitter-bootstrap heroku

基于我过去两天一直在做的谷歌搜索,我加入了数百(如果不是数千)在部署到Heroku时失去引导样式的人。与其他人一样,bootstrap样式在本地计算机上运行良好,但在部署的heroku站点上不存在。我很难过。我使用rails 4.2.4和ruby 2.2.3。 (我也使用RubyMine,如果这有所不同。我不认为它。我尝试使用“普通”git和sublime进行部署,但没有区别。)以下是我所做的:

  1. 我的application.html.erb中有maxcdn的链接(包括css和js)
  2. 我将application.css的名称更改为application.scss(我也尝试过application.css.scss)
  3. 我将@import指令(boostrap-sprockets和bootstrap)添加到application.scss
  4. 我添加了// =需要bootstrap-sprockets到application.js(在turbolinks条目之后)。
  5. 我添加了gems bootstrap-sass,autoprefixer-rails和rails_12factor并做了捆绑安装
  6. 我在config / environments / production.rb
  7. 中将config.assets.compile从false更改为true
  8. 我也尝试过预编译资产,但引导样式仍然缺失。
  9. 我相信我应该做的就是让它运转起来。如上所述,它在本地计算机上运行良好。

    我尝试过在网上建议的许多解决方案,但这些解决方案都没有效果。很难说哪些是适用的,因为这似乎是一个问题好几年(我的谷歌搜索返回这样的问题,并建议解决方案,从2012年到现在)。我确信其中一些解决方案不再适用(对于rails v4)。

    像往常一样,任何帮助都表示赞赏。

3 个答案:

答案 0 :(得分:3)

尝试从头开始一个项目,并让Bootstrap在生产中工作。我成功地用maxcdn方法做到了。

这是我做的包括bootstrap maxcdn:

app / views / layouts / application.html.erb ,位于<head>代码的末尾:

<!-- BOOTSTRAP -->
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"> </script>

我只做了这个,没有别的。即使在Heroku的制作中,它也像魅力一样。

答案 1 :(得分:0)

我没有&#34;尝试从头开始一个项目&#34;。只需添加

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"> </script>

为我做了诀窍。

答案 2 :(得分:0)

我的解决方案是在您的CLI中运行此命令

rake assets:clobber rake assets:precompile RAILS_ENV=development git add . git commit -m "Precompile assets in preparation for deploying to Heroku." git push heroku master

对我来说就像魔术!