Rails 3.1 не прекомпилирует изображения, на которые не ссылается CSS? - PullRequest
7 голосов
/ 04 октября 2011

Я получаю следующую ошибку:

Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Photos#edit

Showing .../app/views/photos/_form.html.haml where line #49 raised:

taxonomy/focus-building.jpg isn't precompiled

Extracted source (around line #49):

46:                             = focus.code
47:                         .tooltip
48:                             %span.name= focus.name
49:                             = image_tag("taxonomy/focus-#{focus.code.downcase.dehumanize}.jpg")
50:                 / Help Overlay
51:                 .help
52:                     %a.overlay{:href=>"#", :rel=>'#help-focus'} Learn more about focus

Этот файл изображения находится в app/assets/images/taxonomy/focus-building.jpg. Я запустил rake assets:precompile RAILS_ENV=production, но, насколько я могу судить, изображения не копируются в каталог public/assets.

Странно, все активы, которые упоминаются в SCSS с использованием image-url(), работают нормально. Почему это изображение не прекомпилируется, если указано image_tag?

Ответы [ 2 ]

2 голосов
/ 10 ноября 2011

Если у вас включена опция assets.digest, это добавит хеш в конец имени, и статическая ссылка на этот файл больше не будет работать, измените все ресурсы со статической ссылкой, чтобы они использовали вспомогательные методы.

0 голосов
/ 08 ноября 2011

У меня была такая же проблема с image_tag. Я решил проблему с помощью живой компиляции.

На производстве.рб

  • config.assets.compile = true
...