2013-07-07 3 views
4

Это должно быть просто, но по какой-то причине это не сработает.Фоновые изображения с конвейером активов

У меня возникли проблемы с получением фонового изображения, отображаемого на моей странице. Я использую Rails 3.2 с конвейером активов. Я пытаюсь отобразить его на страницах, связанных с моим контроллером .

Расположение изображения: приложение/активы/изображения/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

EDIT

Ссылаясь на это сообщение: sass-rails asset pipeline: generating image paths incorrectly; `url(/images/blah.png)` instead of `url(/assets/blah.png)`

я очистил кэш активов

rake tmp:cache:clear 

И комплект обновлен мой sass-rails gem. Сейчас в 3.2.6. Ничего из этого не имело никакого значения.

ответ

5

Я подозреваю, что очень простая причина для ваших проблем: отступы. В большинстве случаев в scss бывает, что после заявления нет места, в вашем случае background:. Попробуйте также это в вашем файле с префиксом scss:

background: url(dna.jpg); 

Это всегда работает для меня.

1

Я нашел обход: развернул файл scss в обычный файл css.

home.css

body {background-image:url('dna.jpg'); 
     background-size:cover;} 

Сейчас он работает отлично. Однако это не похоже на правильное решение.

+0

Я подозреваю, очень простую причину для ваших неприятностей: отступ. В большинстве случаев в scss бывает, что после утверждения нет места, в вашем случае 'background:'. Попробуйте также в файле prefixed 'scss':' background: url (dna.jpg); '. Это всегда работает для меня. –

+0

@Qumara SixOneTour Вы правы. Пожалуйста, добавьте его в качестве ответа, чтобы я мог его принять. – ardochhigh

+1

Я счастлив, когда могу помочь. Удачи вам в вашей заявке. –

Смежные вопросы