Я использую rails 4 и ruby 1.9.3 для своего приложения и fancybox2-rails
gem, но есть общая проблема с конвейером активов. Если я выполняю rake task
для прекомпиляции, тогда все прекрасно, за исключением изображений в vendor/assets/images
и ../gems/ruby-1.9.3-p327/gems/fancybox2-rails-0.2.1/vendor/assets/images
. Изображения из этих двух папок не прекомпилируются, и в конечном итоге у меня есть проблема с мертвыми ссылками на несуществующие изображения. Любые предложения?
Рельсы 4 изображения активов поставщика активов не прекомпилируются
Ответ 1
Похоже, что изображения включены по умолчанию только из папки app/assets. Таким образом, решение состоит в том, чтобы добавить эту строку в config/application.rb
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
Ответ 2
Похоже, Sporker не может автоматически загружать изображения из поставщика/активов/изображений.
2.2 Организация активов Активы трубопровода могут быть размещены внутри приложения в одном из трех местоположений: app/assets, lib/assets или vendor/assets.
app/assets - это активы, принадлежащие приложению, такие как пользовательские изображения, файлы JavaScript или таблицы стилей.
lib/assets - для вашего собственного кода библиотек, который не очень подходит для области приложения или тех библиотек, которые доступны для разных приложений.
поставщик/активы - это активы, принадлежащие внешним организациям, такие как код для плагинов JavaScript и рамки CSS
Из описания приходят guides.rubyonrails.org, я не думаю, что они игнорировали поставщиков/активы/изображения без каких-либо намерений.
Итак, я просто добавил следующую строку:
#config/application.rb
config.assets.paths << Rails.root.join("vendor", "assets", "images")
И я решил свою проблему. Надеюсь, это сработает для вас.
Ответ 3
Для моего проекта Rails 4.2.x я просто переместил изображения поставщика на vendor/assets/images
и добавил его в application.rb
:
config.assets.precompile += %w(vendor/assets/images/*)
Прекрасно работает на разработку и производство.