Ruby on rails 在Rails中的所有样式表文件中携带Sass变量
我有一个site\u settings.scss文件,其中包含Rails应用程序的所有变量:Ruby on rails 在Rails中的所有样式表文件中携带Sass变量,ruby-on-rails,ruby-on-rails-5,stylesheet,Ruby On Rails,Ruby On Rails 5,Stylesheet,我有一个site\u settings.scss文件,其中包含Rails应用程序的所有变量: app/assets/stylesheets/site_settings.scss $primary_color: #4285F4; $dark_color: #333333; ... 现在,如果我想在文件中使用这些变量,我需要在该文件中执行以下操作: import 'site_settings.scss' 我需要把它放在我想要使用这些变量的每个文件的开头,否则Rails会给我未定义的变量:错误
app/assets/stylesheets/site_settings.scss
$primary_color: #4285F4;
$dark_color: #333333;
...
现在,如果我想在文件中使用这些变量,我需要在该文件中执行以下操作:
import 'site_settings.scss'
我需要把它放在我想要使用这些变量的每个文件的开头,否则Rails会给我未定义的变量:错误
我已尝试将import'site\u settings.scss'
放入应用程序.scss或custom.scss中,但两者都不起作用
我还尝试在应用程序.scss中使用要求“站点设置”
,并将application.scss重命名为应用程序.css.scss,如下所述:,但它仍然不起作用
这是我的申请。scss:
/*
*= require_self
*= require font-awesome
*/
@import "bootstrap-sprockets";
@import "bootstrap";
@import "custom";
@import "devise";
@import "site_settings";
那么,我该如何解决这个问题,这样我就不必每次都在每个文件中写入
import'site\u settings.scs'
。您应该重命名所有将使用共享变量的文件,以开头。
这将在部分文件的上下文中呈现其他文件,部分文件将使用@import'site\u settings'
中先前声明的变量。因此,您将拥有site\u settings.scss
和quickrails/\u general.scss
,quickrails/\u media\u query.scss
等等
这些导入被视为部分导入,这就是为什么名称应以下划线开头,但在导入时不使用下划线。以下是关于这方面的材料:
用@import
替换任何相关的=require
,并删除任何=require
,即使你认为你已经注释掉了它。你能发布application.css的内容吗?@PatrickO'Grady我已经在帖子上添加了它。你试过像链接文章中那样设置它吗?你有application.css
,有一个*=require file\u name
语句,然后是file\u name.scss
和所有导入?@PatrickO'Grady是的,这就是为什么我在这里发帖的原因,因为没有work@PatrickO“Grady如果你想查看这些文件,可以在github上点击这里: