问题
I thought I had the assets pipeline figured out, but not any more.
I have a stylesheet named clients.css.scss
.client
{
.list_view
{
width: 650px;
height: 500px;
overflow: auto;
table
{
width: 650px;
border: solid 2px #999999;
border-collapse: collapse;
thead tr
{
background: image-url('list-view-header.png') repeat-x;
}
thead tr:first-child
{
background-image: none;
}
}
}
}
Every time I try to precompile it in production I keep getting a "file.png isn't precompiled" error.
bundle exec rake assets:precompile RAILS_ENV=production --trace
/usr/local/rvm/gems/ruby-1.9.2-p290@pm/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/usr/local/rvm/gems/ruby-1.9.2-p290@pm/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
rake aborted!
list-view-header.png isn't precompiled
(in /var/rails/pm.onlinetherapy.com/app/assets/stylesheets/clients.css.scss.erb)
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
The image file is in the app/assets/images directory and I can see it in the public/assets directory with the extended finger print name.
Any ideas would be helpful.
回答1:
I believe that what you want is this:
thead tr
{
background: image-url('/assets/list-view-header.png') repeat-x;
}
Or you can change your clients.css.scss to clients.css.scss.erb and do this:
thead tr
{
background: image-url(<%= asset_path "list-view-header.png" %>) repeat-x;
}
来源:https://stackoverflow.com/questions/8048164/file-png-isnt-precompiled