Rails application.css.scss不知道正在使用其他scss文件吗?

Rails application.css.scss不知道正在使用其他scss文件吗?,css,ruby-on-rails,twitter-bootstrap,sass,bootswatch,Css,Ruby On Rails,Twitter Bootstrap,Sass,Bootswatch,我正在学习m Hartl的Rails教程,并尝试添加一个bootswatch主题 我已经成功地使用了教程中定义的boostrap-sass-gem和来自网络的twitter-bootswatch-rails-gem 然而,在Hartl的教程中,除了默认引导之外,我们编写的所有CSS都在一个单独的custom.CSS.scss文件中 My application.css.scss文件(从Rails default.css重命名)包含 但是,custom.css.scss文件引用了$gray lig

我正在学习m Hartl的Rails教程,并尝试添加一个bootswatch主题

我已经成功地使用了教程中定义的boostrap-sass-gem和来自网络的twitter-bootswatch-rails-gem

然而,在Hartl的教程中,除了默认引导之外,我们编写的所有CSS都在一个单独的custom.CSS.scss文件中

My application.css.scss文件(从Rails default.css重命名)包含

但是,custom.css.scss文件引用了$gray light,这是在引导中设置的一个变量。服务器将在css文件中的变量引用处返回错误,除非我添加

@import "boostrap-sprockets";
@import "bootstrap";
到custom.css

但最终的结果是,我现在有两个巨大的CSS文件被使用,我认为这是没有理由的

我想到了

@import "custom";
就是将我的custom.css.scss文件包含到application.css.scss文件中,这样它就可以放在一个地方,变量也可以很好地工作

另一种有效的方法是将我的整个custom.css.scss内容转储到application.css.scss中,但这会破坏使用单独文件的目的

我做错什么了吗


编辑:为了给火添加更多的燃料,我从custom.css中删除了两行,取而代之的是“@import bootswatch/cerulean/variables”,它是有效的。然而,网站上的css本身没有该文件中的任何内容。

这可能是错误的,但我对自己的问题给出了如下答案:

看起来链轮行
/=require\u self
/=require\u tree
,即使默认情况下列在清单的注释部分,实际上也在运行

这会导致每个“必需”文件被单独编译。因此,我得到的不是一个
应用程序指纹.css
文件,而是一个应用程序、一个自定义页面和一个静态页面。我假设这是“require\u tree”行

删除这些行后,@import“custom”;行按我的预期工作。所有文件都合并到
应用程序指纹.css
文件中,我不再需要@import
custom.scss
顶部的任何内容

@import "custom";