file.png isn't precompiled

…衆ロ難τιáo~ 提交于 2019-12-10 20:27:19

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!