Asset - Pipeline

21 views
Skip to first unread message

Sebastian H.

unread,
Apr 11, 2012, 3:22:28 PM4/11/12
to rubyonra...@googlegroups.com
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: <html>
3: <head>
4: <title>Azubiware 2.0 | <%= @title %></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

--
Posted via http://www.ruby-forum.com/.

Kevin Bedell

unread,
Apr 11, 2012, 4:42:21 PM4/11/12
to rubyonra...@googlegroups.com
Here an example line from one of our scss files:

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

Try that?

> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
>

Sebastian H.

unread,
Apr 11, 2012, 4:48:16 PM4/11/12
to rubyonra...@googlegroups.com
that worked for me :) yeah.. you made my evening! thanks

Linus Pettersson

unread,
Apr 11, 2012, 4:55:51 PM4/11/12
to rubyonra...@googlegroups.com
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 :)

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 :)

Cheers!
Reply all
Reply to author
Forward
0 new messages