rake assets:precompile
目前在我的public/assets
目录中将所有内容都吐入我的印象(在设置S3之后),它会推送到亚马逊。我正在使用asset_sync
概述here
目前我在application.rb
:
class Application < Rails::Application
config.assets.enabled = true
config.assets.digest = true
end
然后在development.rb
我有:
config.action_controller.asset_host = "//#{ENV['FOG_DIRECTORY_DEV']}.s3.amazonaws.com"
config.action_mailer.asset_host = "http://#{ENV['FOG_DIRECTORY_DEV']}.s3.amazonaws.com"
config.assets.initialize_on_precompile = false
我在这里做错了什么?
答案 0 :(得分:1)
您必须感谢asset_sync
同步您的资产(而非替换它们)
资产同步
宝石本身将让Rails在本地发布您的资产&#34; (到/public/assets
),然后它将基本上将它们全部推送到您的S3存储桶,复制它们。
在Rails和S3之间同步资产。
Asset Sync可以使用新的Rails Asset Pipeline功能运行 在Rails 3.1中引入。运行bundle exec rake之后 资产:预编译您的资产将同步到您的S3存储桶, 可选择删除未使用的文件,只上传所需的文件 到。
-
<强>修正强>
关于您的问题,我确定默认情况下,动态动态提供开发资产 - 这意味着如果您想将它们作为 static 运行(预编译),你必须tweak some of the settings定义这个:
#config/environments/development.rb
# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = false #true
默认情况下,生产服务于静态资产,这意味着最适用的测试方法asset_sync
实际上是通过部署到生产环境来实现的。但是,您应该能够使用上面的代码使其在开发中工作