1

私より賢い頭脳:

ミックスイン、変数、その他の便利な機能を定義する SCSS パーシャルがいくつかあります。次のように、これらのパーシャルの 1 つに埋め込まれたルビを使用する必要があります。

_partial.scss.erb

 $text-color: #555555;
 <%= "" %>

app.scss

@import "partial"
.text {color: $text-color;}

ファイルに名前が付けられ_partial.scssていれば、問題なく動作します (もちろん、ルビはありません)。名前を付けると、変数が定義されていない.erbというエラーが表示されます。$text-color

sass_rails_patch宝石を使用しています。確かなことは言えませんが、_partial.scss.erb は _partial.css にコンパイルされてから、 app.scssにインポートされていると思います。これが、$text-colorが取り除かれている理由かもしれません。

このフローを期待どおりに機能させる方法に関するアドバイスはありますか? 私は期待します:

  1. ファイル内のruby​​ を評価し.erb、valid を生成します.scss
  2. @importステートメントを実行する.scss
  3. 他のすべての SCSS コンパイルを行い、generate .css.
4

1 に答える 1

0

アセット パスを作成するために、SCSS ファイルで Ruby スクリプトを使用することをお勧めします (それが唯一の理由である必要があります)。これが理由である場合は、SCSS 関数を使用してそれらを構築できます。

それ以外の:

background-image: url(<%= asset_path('general/side_shadow.png') %>);

代わりに、次の CSS/SCSS 関数を使用してください。

background-image: url(asset-path("general/side_shadow.png", image));

SCSS ヘルパーのドキュメントは次のとおりです: http://rubydoc.info/github/petebrowne/sprockets-sass/master/Sprockets/Sass/Functions

お役に立てれば

于 2013-11-14T06:25:31.270 に答える