Asset - Pipeline

Hello guys,

I tried to get an image-background working within my page, but I was
wrong…

I´m using rails 3.2.3, ruby 1.9.3 p125.

thats a part of my css file (app/assets/stylesheets/custom.css.scss):

body {
padding-top: 70px;
background: url(<%= asset_path ‘background.png’ %>);
}

and if i try to access the page, rails server sais

ActionView::Template::Error (Invalid CSS after " background:
url(": expected “)”, was “<%= asset_path …”
(in
/home/basti/website/Azubiware_2.0/app/assets/stylesheets/custom.css.scss)):
2:
3:
4: Azubiware 2.0 | <%= @title %>
5: <%= stylesheet_link_tag “application”, media: “all” %>
6: <%= javascript_include_tag “application” %>
7: <%= csrf_meta_tags %>
8: <!–[if lt IE 9]>
app/assets/stylesheets/custom.css.scss:9
app/views/layouts/application.html.erb:5:in
`_app_views_layouts_application_html_erb___3677715865169271541_23617180’

Any idea how to get this background foo working?

Very thanksfull for every hint!

Basti

Here an example line from one of our scss files:

    background: image-url("email_icon.png") no-repeat 0px 4px;

Try that?

that worked for me :slight_smile: yeah… you made my evening! thanks

To run the first code you tried you need to add the .erb extension.
Otherwise, it’s like running ruby code in a css/html file or whatever.
It
doesn’t work :slight_smile:

The assets pipeline works like this:
example.css.scss => Interprets scss first and serves the css file.
example.html.erb => interprets erb first and serves the html file.
example.css.scss.erb => interprets erb first, then scss and serves the
css
file to the client.
… and so on.

The “image-url()” code that kbedell suggested above works because it’s a
scss helper method for rails.

Hope that clears things up a bit :slight_smile:

Cheers!

Den onsdagen den 11:e april 2012 kl. 22:48:16 UTC+2 skrev Ruby-Forum.com
User: