簡體   English   中英

Ruby on Rails資產管道似乎正在添加不存在的樣式

[英]Ruby on Rails asset pipeline appears to be adding styles that don't exist

我對此深感困惑。 我的SCSS文件顯示如下:

.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可能會做什么的任何想法? 甚至關於如何進一步調試的想法?

好吧,經過更多調試后,我相信我已經解決了。 看來這是由於我早先在文件中使用了@extend所致。 我以前沒有意識到@extend所有作用。

看起來好像我在做類似的事情:

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

永遠不會在文件中,然后將.form-item-segmented-control選擇器添加到所有出現的.segmented-control 但是,需要注意的一個重要細微差別是,對於其他SCSS部分中的.segmented-control ,它不會做同樣的事情。 @extend僅影響使用它的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM