I'm using rails 4 & ruby 1.9.3 for my application and fancybox2-rails
gem, but there's a general problem with asset pipeline. If I run rake task
for precompile, then everything is fine except for images in vendor/assets/images
and ../gems/ruby-1.9.3-p327/gems/fancybox2-rails-0.2.1/vendor/assets/images
. Images from these two folders are not being precompiled and eventually I have a problem with dead links to non-existing images. Any suggestions?
问题:
回答1:
It seems like images are included by default only from app/assets folder. So the solution is to add this line to config/application.rb
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
回答2:
It sounds Sporker can't autoload images from vendor/assets/images.
2.2 Asset Organization Pipeline assets can be placed inside an application in one of three locations: app/assets, lib/assets or vendor/assets.
app/assets is for assets that are owned by the application, such as custom images, JavaScript files or stylesheets.
lib/assets is for your own libraries' code that doesn't really fit into the scope of the application or those libraries which are shared across applications.
vendor/assets is for assets that are owned by outside entities, such as code for JavaScript plugins and CSS frameworks
From the description come from guides.rubyonrails.org, I don't think they ignored vendor/assets/images with no intention.
So I just added the follow line:
#config/application.rb
config.assets.paths << Rails.root.join("vendor", "assets", "images")
And, I solved my problem. I hope this will work for you.
回答3:
For my Rails 4.2.x project, I just moved the vendor images to vendor/assets/images
and added this to application.rb
:
config.assets.precompile += %w(vendor/assets/images/*)
Works fine on development and production.