1

我正在使用assets_sync gem 在 amazon s3 上托管我的资产。我已将 config.action_controller.asset_host 设置为指向我的 s3 存储桶,以便它将为我的 s3 资产提供服务。

但是,只有我的动态生成的资产从 s3 提供,其他静态资产(如图像)没有从 s3 提供,它们只是从相对目录“/assets/filename.ext”提供。

如何让 rails 将 s3 用于我的静态资产,而不仅仅是动态生成的资产?

这是我的生产环境文件:

config.cache_classes = true

# Full error reports are disabled and caching is turned on  
config.consider_all_requests_local       = false  
config.action_controller.perform_caching = 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

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

ENV['FOG_DIRECTORY'] = 'bucket'   
ENV['AWS_ACCESS_KEY_ID'] = 'key'   
ENV['AWS_SECRET_ACCESS_KEY'] = 'key'
config.action_controller.asset_host = "http://bucket.s3.amazonaws.com"

config.assets.prefix = "/assets"

config.assets.initialize_on_precompile = true
4

1 回答 1

0

您需要在 production.rb 中设置以下内容

ActionController::Base.asset_host = "http://bucket.s3.amazonaws.com"

于 2013-05-25T10:15:32.033 回答