2015-09-28 28 views
0

我完全被这个难住了。我SCSS文件显示如下:Ruby on Rails资产管道似乎添加了不存在的样式

.segmented-control { 
    li .field_with_errors label { 
     border-color: #db5757; 
    } 
} 

但是当我加载页面,检查CSS,它显示了这一点:

/* line 1382, /general.scss */ 
.segmented-control li .field_with_errors label, 
.form-item-segmented-control li .field_with_errors label { 
    border-color: #db5757; 
} 

的行号,1382点恰好在第一个代码片段,我显示。然而在编译版本中,它包含一个额外的选择器,其中包括.form-item-segmented-control

我确实在CSS的其他地方使用了.form-item-segmented-control,但这里没有。它肯定是不是嵌套或类似的东西。

我完全被难住了。 Rails可能会做什么的任何想法?甚至是我如何进一步调试的想法?

回答

0

好的,经过一些调试后,我相信我知道了。看起来这是由于我之前在文件中使用的@extend。我以前并没有意识到@extend的所有影响。

它看起来像如果我做这样的事情:

.form-item-segmented-control { 
    @extend .segmented-control; 
} 

曾经文件中,它会那么.form-item-segmented-control选择添加到所有出现.segmented-control。但要注意的一个重要的细微差别在于,其他SCSS局部中出现.segmented-control的情况不会这样做。 @extend只影响其使用的文件。

相关问题