0

У меня есть приложение для работы с ванильными рельсами со всеми моими изображениями в приложении/активах/изображениях и мои таблицы стилей в app/assets/stylesheets. В моих стилях у меня есть:странные свойства рельсов css изображения поведения (и, возможно, другие вещи)

body 
    background: url(/assets/bg.png) 
    //background: image-path('bg.png')--well, same thing also doesn't work 

Это изображение не появляется, хотя, если у меня есть =image_tag 'bg.png' в представлении, он прекрасно работает (но не имеет сформированную отметку времени в конце (не bg.png?<buncha#s>)

.

Если я перехожу на localhost:3000/assets/bg.png, он есть, как и все мои изображения - за исключением одного имени diag_bg.png, и в этом случае я получаю Errno::ENOTDIR Not a directory - project/app/assets/images/diag_bg, который является сверхъестественным. Ну, будь то изображение или нет, я не могу использовать его как css-фон, даже если я могу получить к нему доступ таким образом. Также firebug показывает, что для изображения css вообще нет запроса GET.

-btw, ни одно из этих изображений не является общедоступным/изображениями, если я вручную не разбиваю предварительные компиляции активов (я никогда не устанавливал прекомпиляцию в false в dev). Но похоже, что эти изображения даже не привыкли ... (их путают)

Также я получаю эти сообщения. Я не уверен, если это нормально (logo_small.png является единственным = IMAGE_TAG до сих пор):

Started GET "/assets/main.css?body=1" for 127.0.0.1 at 2012-04-22 14:31:33 -0700 
Served asset /main.css - 304 Not Modified (0ms) 
[2012-04-22 14:31:33] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true  

Started GET "/assets/logo_small.png" for 127.0.0.1 at 2012-04-22 14:31:33 -0700 
Served asset /logo_small.png - 304 Not Modified (0ms) 
[2012-04-22 14:31:33] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true 

Любая помощь будет оценена ... Я очень разочарован с активами.

ответ

2

Вы должны использовать:

background: image-url("bg.png") 

Помощник image-url является тот, который вы хотите, вы должны процитировать путь, и вам не нужно ставить перед /assets. Включить только папку, если изображение находится в подкаталоге, например:

app/assets/images/icons/favorite.png 

... будет ссылаться как:

background: image-url("icons/favorite.png") 

См https://github.com/rails/sass-rails для получения дополнительной информации.

+0

О, да. Я не читал это в первый раз ... спасибо :) – butterywombat

+0

Без проблем, рад, что я мог бы помочь. – Andrew

+0

Я все еще немного смущен тем, почему вещь timestamp больше не генерируется, и где скомпилированные sass/images/etc ... у вас есть идея? – butterywombat

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