我正在为我的应用程序和fancybox2-rails
gem 使用 rails 4 和 ruby 1.9.3,但是资产管道存在一般问题。如果我运行rake task
预编译,那么一切都很好,除了vendor/assets/images
和../gems/ruby-1.9.3-p327/gems/fancybox2-rails-0.2.1/vendor/assets/images
. 这两个文件夹中的图像没有被预编译,最终我遇到了指向不存在图像的死链接的问题。有什么建议么?
问问题
26408 次
3 回答
81
似乎默认情况下仅包含来自 app/assets 文件夹的图像。所以解决办法就是把这一行加到config/application.rb
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
于 2013-01-07T12:00:47.623 回答
9
听起来 Sporker 无法从供应商/资产/图像中自动加载图像。
2.2 资产组织管道资产可以放置在三个位置之一的应用程序中:app/assets、lib/assets 或 vendor/assets。
app/assets 用于应用程序拥有的资产,例如自定义图像、JavaScript 文件或样式表。
lib/assets 用于您自己的库的代码,这些代码并不真正适合应用程序的范围或跨应用程序共享的那些库。
vendor/assets 用于外部实体拥有的资产,例如 JavaScript 插件和 CSS 框架的代码
从来自guides.rubyonrails.org的描述来看,我认为他们不会无意忽略 vendor/assets/images。
所以我只是添加了以下行:
#config/application.rb
config.assets.paths << Rails.root.join("vendor", "assets", "images")
而且,我解决了我的问题。我希望这对你有用。
于 2014-11-25T09:00:01.267 回答
6
对于我的 Rails 4.2.x 项目,我只是将供应商图像移动到vendor/assets/images
并将其添加到application.rb
:
config.assets.precompile += %w(vendor/assets/images/*)
在开发和生产方面工作良好。
于 2015-12-30T15:49:58.943 回答