我有一个 site_settings.scss 文件,其中包含我的Rails应用的所有变量:
app/assets/stylesheets/site_settings.scss
$primary_color: #4285F4;
$dark_color: #333333;
...
现在,如果我想在文件中使用这些变量,我需要在该文件中执行此操作:
import 'site_settings.scss'
我需要把它放在 EVERY FILE 的开头我想要使用这些变量,否则Rails会给我Undefined variable:
错误。
我尝试将import 'site_settings.scss'
放在 application.scss 或 custom.scss 中,但它们都不起作用。
我还尝试在 aplication.scss 中使用require 'site_settings'
,并将application.scss重命名为 application.css.scss ,如下所述:{ {3}},但它仍无效。
这是我的application.scss:
/*
*= require_self
*= require font-awesome
*/
@import "bootstrap-sprockets";
@import "bootstrap";
@import "custom";
@import "devise";
@import "site_settings";
那么,我该如何解决这个问题,这样我每次都不必在每个文件中写import 'site_settings.scss'
?
答案 0 :(得分:1)
您应该重命名将使用共享变量的所有文件以_
开头。
这将在部分文件的上下文中呈现其他文件,这将使用@import 'site_settings'
中先前声明的变量。因此,您将拥有site_settings.scss
和quickrails/_general.scss
,quickrails/_media_query.scss
等等。
这些导入被认为是局部的,这就是为什么名称应该以下划线开头,但是在导入时你不使用它。这是关于此的材料:
答案 1 :(得分:0)
用unique
替换任何相关的d <- read.table(header = TRUE,
text = "study.name ESL prof scope type ESL.1 prof.1 scope.1 type.1
Shin.Ellis 1 2 1 1 1 2 1 1
Shin.Ellis 1 2 1 1 1 2 1 1
Shin.Ellis 1 2 1 2 1 2 1 1
Shin.Ellis 1 2 1 2 1 2 1 1
Shin.Ellis 1 2 NA NA 1 2 NA NA
Shin.Ellis 1 2 NA NA 1 2 NA NA
Trus.Hsu 2 2 2 1 2 2 1 1
Trus.Hsu 2 2 NA NA 2 2 NA NA")
is_constant <- function(x) length(unique(x)) == 1L
keep_constants <- function(df, group_col) {
data_cols <- colnames(df)[setdiff(1:ncol(df), group_col)]
check_df <- aggregate(df, by = list(df[[group_col]]), FUN = is_constant)
cols_to_keep <- sapply(check_df[, -1], all)
unique(df[, cols_to_keep])
}
keep_constants(d, 1)
#> study.name ESL prof ESL.1 prof.1
#> 1 Shin.Ellis 1 2 1 2
#> 7 Trus.Hsu 2 2 2 2
并删除任何= require
,即使您认为自己已将其注释掉。