2015-02-06 31 views
0

我是一个红宝石开发的新手,所以提前很抱歉,如果我的问题在第一时间不是那么不准确。我的.scss不考虑在我的红宝石应用程序

我尝试应用CSS样式,但我使用的方式不起作用,因为我认为它应该。从家里控制器

index.html.erb应用程序/视图/家

<div class="box_home"> 
    ... 
    ... 
</div> 

home.scss应用程序/资产/ styelsheets

.box_home { margin-bottom: 20px; } 

application.scss应用程序/ assets/styelsheets

@import "bootstrap-sprockets"; 
@import "bootstrap"; 
body { padding-top: 50px; } 
.box_home { margin-bottom: 20px; } 

没有像这样的事情发生。但是,如果我在application.scss中插入css属性,它就可以工作。

这是做正确的方式还是应该分散每个控制器的scss文件中的样式?如果是,如何?

我试图找到文档或更旧的版本Q & A但我没有。

在此先感谢您的帮助。

+1

你在哪里放置(文件夹)你的scss?和什么是写在你的application.scss请张贴它 – Deep 2015-02-06 17:48:32

+0

都在应用程序/资产/样式表 – Firmin 2015-02-06 17:54:40

+0

我编辑我的application.scss文章的帖子。谢谢你的帮助。 – Firmin 2015-02-06 18:02:47

回答

0

你是否在application.css中需要这个文件?

*= require home 
+0

我做到了,它的工作原理!所以我明白我必须要求主文件中的每个scss文件。非常感谢。 – Firmin 2015-02-06 18:05:52

+0

你也可以通过'require_tree .'来做到这一点,它包括了同一个文件夹中的所有文件。这是在'.css'中完成的。 'scss'可能有不同的格式(不确定)更多细节:https://www.ruby-forum.com/topic/2171058也读了关于Rails资产管道你会知道这些事情。 – Deep 2015-02-06 18:10:58

+0

'require_tree .'也可以工作,如果我没有要求每个文件一个接一个,似乎更实用。谢谢。 – Firmin 2015-02-06 18:18:51

0

如果您正在使用SCSS文件时,你应该实际使用@import而不是requireapplication.scss

@import "bootstrap-sprockets"; 
@import "bootstrap"; 
@import "home"; 
// ... 

从轨资产管道documentation

如果你想使用多个Sass文件,您通常应该使用Sass @import规则 而不是这些Sprockets指令。当使用Sprockets指令时,Sass文件在 自己的范围内,使得变量或mixin仅在它们被定义的文档中可用。