版本2和3之间的Bootstrap sass gem冲突

时间:2013-11-08 15:39:27

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

我在版本为2.3.1.0的Rails项目中使用bootstrap-sass gem。然而,当推到Heroku时,我正在获得Bootstrap 3样式。我检查CSS样式,确实说Bootstrap版本3。

在本地,分配似乎是正确的。但同样令人困惑的是,当我检查CSS文件时,它说Bootstrap版本3,尽管显示的看起来像Bootstrap 2.3样式。

我想有一点,我的bootstrap-sass宝石正在使用Bootstrap 3,但是当我把它放回gem 'bootstrap-sass', '2.3.1.0'时,我就会遇到这种奇怪的冲突。我真的只是希望我的Heroku应用程序正确显示样式。即使我将当前的本地版本推向Heroku,它仍然使用Bootstrap 3样式。

这就是我所拥有的:

Gemfile

group :assets do
    gem 'sass-rails',   '~> 3.2.3'
    gem 'coffee-rails', '~> 3.2.1'
    gem 'uglifier', '>= 1.0.3'
    gem 'bootstrap-sass', '2.3.1.0'
end

我创建了一个styles.css.scss文件,其中我有一行@import "bootstrap";以下是localhost上的内容:

enter image description here

以下是Heroku的样子:

enter image description here

2 个答案:

答案 0 :(得分:0)

听起来您的Gemfile.lock可能不正确。您是否已验证在Gemfile.lock中定义了正确版本的bootstrap gem?

同样可能值得检查Heroku env变量BUNDLE_WITHOUT中没有设置任何内容。见the Heroku gem docs.

答案 1 :(得分:0)

不确定为什么会这样,但我发现第二个答案here对我有效。

我在application.css中的*= require bootstrap"正上方添加了*= require_tree .

然后运行“bundle install --without production”,然后是“rake assets:precompile”。将更改提交给git然后推送到heroku。

我以前从未在资产管道中特别要求引导程序,但它确实有效!