Обновление до Rails 3.1.0 с rc6, прекомпиляция активов не выполняется

После перехода на Rails 3.1.0 из Rails 3.1.0.rc6, я получил некоторые сообщения об ошибках при выполнении задачи assets:precompile следующим образом:

$ RAILS_ENV=production RAILS_GROUPS=assets rake assets:clean tmp:clear assets:precompile
rake aborted!
ie-spacer.gif isn't precompiled
  (in app/assets/stylesheets/jquery.gritter.css.scss)

Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

Я попытался добавить config.assets.precompile << 'ie-spacer.gif' в config/application.rb, но он все равно не работает.

Строка в jquery.gritter.css.scss:

background: asset_url('ie-spacer.gif', image);

и я попробовал:

background: asset_path('ie-spacer.gif', image);
background: image_url('ie-spacer.gif');
background: image_path('ie-spacer.gif');

все с ошибкой ie-spacer.gif isn't precompiled.

Ответы

Ответ 1

Вы должны сделать

config.assets.compile = true

во время активов: задача прекомпиляции.

Кажется, это ошибка в рельсах 3.1.

Ответ 2

Мне нужно было использовать оба

config.assets.compile = true
config.assets.digest  = true

Ответ 3

Я узнал, что это связано с

config.assets.compress = false

Что не так, если вы пытаетесь скомпилировать

bundle exec rake assets:precompile RAILS_ENV=production

Однако это должно действительно сделать лучшую ошибку.