我正在将 Bootstrap 用于我的 Rails 应用程序和 bootstrap-sass v. 3.1.1,它在我的 application.css.scss 文件中的以下内容中运行得很好:
@import "bootstrap";
没有别的。就在今天,我尝试添加一些自己的 CSS 来添加一些 Bootstrap 无法提供的样式。这是我的欢迎视图/控制器,所以我只是将其添加到welcome.css.scss
.complete-class {
text-decoration: line-through;
}
来自阅读Rails 指南的这一部分 http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives我的理解是,您可以在清单中包含像welcome.css.scss这样的CSS文件,如下所示:
@import "bootstrap";
/*
*= require_self
*= require_tree .
*/
这并没有成功应用我的 CSS; welcome.css.scss 也没有出现在 head 标签中。
当我尝试调试这个时,我遇到了一些奇怪的事情,我觉得我也应该指出:
1.导入bootstrap出错
VIM 的 Syntastic 插件很有帮助地指出了一个错误:
File to import not found or unreadable: bootstrap. Load path: /home/stephen/code/blocitoff/app/assets/stylesheets
这很奇怪,因为
- a)尽管我没有更改它引用的代码行(@import“bootstrap”),但这个错误之前没有出现过
and
- b) bootstrap 仍然忠实地应用在我的页面布局中,并出现在 head 标签的资源中。
2.卸载bootstrap-sass
我搜索了上面的错误,发现这个问题 https://github.com/twbs/bootstrap-sass/issues/580这建议我卸载并重新安装 bootstrap-sass。尽管奇怪的是,即使我卸载了 gem,引导程序样式仍然保留在页面上,但这并不起作用。
Rails的版本是4.1.5
- 将所有 css 移至 application.css.scss
因为似乎 bootstrap 是从 application.css.scss 加载的,所以我在那里添加了我的 css,但这也不起作用。
- 浏览器上的隐身模式
最后我想,如果当我卸载 bootstrap-sass 时引导程序没有消失,那么它们可能被缓存在我的浏览器上?我认为这在开发中不会发生,但以防万一我在隐身模式下启动 chrome。还是没有变化。
除了弄清楚如何解决这个问题之外,我真的很想了解这里发生的事情——希望我能更好地了解 Rails 资产管道的工作原理。