rails 4 asset pipeline изображения активов поставщика не подвергаются предварительной компиляции


Я использую rails 4 & ruby 1.9.3 для моего приложения и fancybox2-rails камень, но есть общая проблема с трубопроводными активами. Если я бегу rake task для предварительной компиляции, то все нормально, за исключением изображений в vendor/assets/images и ../gems/ruby-1.9.3-p327/gems/fancybox2-rails-0.2.1/vendor/assets/images. Изображения из этих двух папок не подвергаются предварительной компиляции, и в конечном итоге у меня есть проблема с мертвыми ссылками на несуществующие изображения. Есть предложения?

3 56

3 ответа:

похоже, что изображения включены по умолчанию только из папки app/assets. Поэтому решение состоит в том, чтобы добавить эту строку в config/application.РБ

config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)

похоже, что Sporker не может автоматически загружать изображения от поставщика / активов / изображений.

2.2 Имущество Организации Активы конвейера могут быть размещены внутри приложения в одном из трех местоположений: app/assets, lib/assets или vendor/assets.

приложение / активы - это активы, принадлежащие приложению, такие как пользовательские изображения, файлы JavaScript или таблицы стилей.

lib / assets - это код ваших собственных библиотек, который на самом деле не вписывается в область действия приложения или библиотеки, которые являются общими для всех приложений.

vendor / assets предназначен для активов, принадлежащих внешним организациям, таким как код для плагинов JavaScript и CSS-фреймворков

из описания исходят от guides.rubyonrails.org, я не думаю, что они игнорировали поставщика/активы/изображения без намерения.

поэтому я просто добавил следующую строку:

#config/application.rb
config.assets.paths << Rails.root.join("vendor", "assets", "images")

и я решил свою проблему. Я надеюсь, что это будет работать для вас.

для моих Rails 4.2.X проект, я просто переместил изображения поставщика в vendor/assets/images и добавил Это к application.rb:

config.assets.precompile += %w(vendor/assets/images/*)

работает отлично на развитии и продукции.