部署到Heroku后缺少bootstrap样式

问题描述 投票:2回答:3

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

  1. 我在application.html.erb(css和js)中都有maxcdn的链接
  2. 我将application.css的名称更改为application.scss(我也尝试过application.css.scss)
  3. 我将@import指令(boostrap-sprockets和bootstrap)添加到application.scss
  4. 我将// = require bootstrap-sprockets添加到application.js(在turbolinks条目之后)。
  5. 我添加了gems bootstrap-sass,autoprefixer-rails和rails_12factor并进行了bundle install
  6. 我在config / environments / production.rb中将config.assets.compile从false更改为true
  7. 我也试过预编译资产,但引导样式仍然缺失。

我相信这就是我应该做的就是让它运转起来。如上所述,它在本地计算机上运行良好。

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

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

css ruby-on-rails ruby twitter-bootstrap heroku
3个回答
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的制作中,它也像魅力一样。


0
投票

我没有“尝试从头开始一个项目”。只需添加

<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>

对我有把戏。


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

对我来说就像魔术一样!

© www.soinside.com 2019 - 2024. All rights reserved.