12

Railsで、ファイルfile.css.sass.erb

.class-name
    width: <%= "10px" %>

エラーをスローしています:

Invalid CSS after "": expected expression (e.g. 1px, bold), was "<%= "10px" %>"

うまくいくはずじゃないの?

アップデート1

まだ苦労していますが、SCSS構文(ファイル名とコード)に変更すると、非常によく似たエラーが発生することがわかりました。

Invalid CSS after " width: ": expected expression (e.g. 1px, bold), was "<%= "10px" %>;"

ただし、拡張子を削除し、CSSと同様の構文をファイル名のままにすると Railsは期待どおりにコンパイルされます。scssfile.css.erb

しかし、私が非常に明白なことを忘れていることを考えると、これは、との宝石の衝突sass-rails、またはバグ、または何かである可能性があることも考えています。結局のところ、コードはSASS拡張なしで機能しています。

アップデート2

この同じ問題に関する他の4つの未回答の質問が見つかりました:

  1. scss.erbrubyコードが実行されていません
  2. .erbプリプロセッサを介して実行されていないアセット
  3. Railserbの前処理が開発モードで発生しない
  4. スプロケットsass部分erb拡張

それらのいくつかは、アプローチを変更することによって問題を回避することになりました。SASSファイルのERBの問題はそのままでした。

4

2 に答える 2

13

GitHubsass-railsで説明されているように、これは確かにの問題です。

それで、この男はこのパッチを書きました、それは問題を完全に解決します。

ソリューション

に追加Gemfile

gem "sass_rails_patch", "~> 0.0.1"

それから走っbundleて、あなたは元気です!

于 2013-01-13T16:08:41.580 に答える
11

erbがアセットの参照専用である場合は、アセットヘルパーを使用できます。

background-image: asset-url("rails.png")

...それ以外の...

background-image: url("<%= image_path('rails.png') %>");
于 2017-02-21T13:35:25.707 に答える