2015-02-06 66 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僅在它們被定義的文檔中可用。