4

これは単純なことのはずですが、何らかの理由で機能しません。

ページに背景画像を表示できません。アセット パイプラインで Rails 3.2 を使用しています。ホームコントローラー関連のページに表示させようとしています。

画像の場所: app/assets/images/dna.jpg

home.css.scss

background: url('/assets/images/dna.jpg');

私も次のことを試しました:

background: url('dna.jpg');
background: url('/assets/dna.jpg');
background-image: image-url("dna.jpg");
background-image:url(image_path('dna.jpg'));

どのアプローチを試しても、同じエラーが発生します。

Sass::SyntaxError at /
Invalid CSS after "background:": expected pseudoclass or pseudoelement, was "   url('/assets/i..."

(/Users/sean/Dropbox/bin/rails/assay/app/assets/stylesheets/home.css.scss 内)

この SO 投稿も参照してください: Adding a background image in Ruby on Rails 2 in CSS

編集

この投稿を参照: sass-rails アセット パイプライン: イメージ パスの生成が正しくありません。`url(/assets/blah.png)` の代わりに `url(/images/blah.png)`

アセットキャッシュをクリアしました

rake tmp:cache:clear

そしてバンドルは私のsass-rails gemを更新しました。現在は 3.2.6 です。どれも違いはありませんでした。

4

3 に答える 3

5

私はあなたの問題の非常に単純な理由を疑っています: インデントです。scssあなたの場合、ほとんどの場合、ステートメントの後にスペースがありませんbackground:。scss プレフィックス付きファイルでこれも試してください。

background: url(dna.jpg);

それはいつも私のために働きます。

于 2013-07-07T17:38:24.527 に答える
1

私はまったく同じ問題を抱えていました.SCSSファイルでSass Indented Syntaxを使用した結果です。

Sass と SCSS の違いの詳細: http://sass-lang.com/documentation/file.INDENTED_SYNTAX.html

于 2014-01-22T16:00:30.637 に答える