携带所有表单文件萨斯变量在Rails的

问题描述:

我有一个site_settings.scss文件,该文件包含了我的Rails应用程序的所有变量:携带所有表单文件萨斯变量在Rails的

app/assets/stylesheets/site_settings.scss 

$primary_color: #4285F4; 
$dark_color: #333333; 
... 

现在,如果我想里面使用这些变量文件我需要做的这一点,文件中:

import 'site_settings.scss' 

我需要把这个在每个文件,我想用这些变量开始,否则Rails会给我Undefined variable:错误。

我试图把import 'site_settings.scss'application.scsscustom.scss内,但两者都没有工作。

我也试图在aplication.scss使用require 'site_settings'和重命名application.scss到application.css.scss这里被提及:http://mildlyinternet.com/code/scss-variables-asset-pipeline.html,但它仍然没有工作。

这里是我的application.scss:

/* 
*= require_self 
*= require font-awesome 
*/ 

@import "bootstrap-sprockets"; 
@import "bootstrap"; 
@import "custom"; 
@import "devise"; 
@import "site_settings"; 

那么,我该如何解决这个问题,这样我就不必写在每一个文件每次import 'site_settings.scss'

+0

您可以发布application.css的内容是什么? –

+1

@ PatrickO'Grady我已将它添加到帖子中 –

+0

您是否尝试将其设置为与链接文章完全相同?你有'application.css',有一个'* = require file_name'语句,然后'file_name.scss'与所有的导入? –

您应该重命名所有将使用共享变量的文件,以_开头。 这将在部分文件的上下文中呈现其他文件,这些文件将使用@import 'site_settings'中先前声明的变量。所以你会有site_settings.scssquickrails/_general.scssquickrails/_media_query.scss等等。

那些导入被认为是partials,这就是为什么这个名字应该以下划线开头,但是当导入时你没有它。下面是一个关于这种材料:

Why put in front of the file name "_" or "_" in scss/css?

+0

它仍然无法正常工作。你可以看看这些文件吗?这里是链接:https://github.com/ryzalyusoff/Quickrails –

+0

啊哇终于.....修好了!谢谢! –