如何使资产管道处理子目录中的图像

时间:2012-05-22 13:47:19

标签: ruby-on-rails asset-pipeline

我有一个Rails应用程序,最初是3.0.x应用程序,最近升级到3.2.2。图像位于app / assets / images / ecommerce / new中,当我在本地运行rake assets:precompile时,它们不会复制到public / assets /。但是,当我将app / assets / images / ecommerce / new中的所有图像文件复制到根映像资产路径(即app / assets / imagens)并再次运行rake任务时,图像全部发送到公共/资产

当我在生产模式下本地运行服务器时,它找不到图像,但是当我部署到Engine Yard时,它确实如此。这很奇怪,你知道发生了什么吗?

资产管道不能处理app / assets / images子目录中的图像吗?我错过了什么吗?

以下是config / environments / production.rb的来源,关于资产管道的内容:

MyApp::Application.configure do
# Settings specified here will take precedence over those in config/application.rb

config.cache_classes = true

# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false

# Compress JavaScripts and CSS
config.assets.compress = true

# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
config.assets.precompile += %w[*.png *.jpg *.jpeg *.gif] 

# Generate digests for assets URLs
config.assets.digest = true

1 个答案:

答案 0 :(得分:2)

config.assets.compile = true是问题所在。这不符合你的想法。这实际上告诉服务器按需编译。这可能解释了为什么你有时会看到这些文件,有时你却看不到。

如果要添加目录,请将它们添加到config.assets.paths。