【发布时间】:2011-11-11 13:32:54
【问题描述】:
我对生产模式下的新Rails 3.1资产管道的理解如下:->
- config.action_controller.asset_host =
"https://mybucket.s3.amazonaws.com" - config.assets.compile = false
-
app/assets已签入 repo - 捆绑 exec rake 资产:预编译并与 S3 同步(所有资产)
-
public/assets未检入回购
通过以上所有内容,我认为 Rails 会在 S3 上查找所有资产,而我不需要在存储库中使用它们。或者至少我不需要 repo 中 public/assets 中的 预编译 资产。
我在 heroku 上找到了这个,如果没有 config.assets.compile = true,它完全不会在 S3 上找到预编译的资产。 Heroku 必须为所有资产运行编译阶段,然后将它们从 S3 中服务出来。运行heroku run rake assets:precompile 不会进行深蹲。生产过程会重新编译一切。
嗯?这对我来说毫无意义。
我觉得你不需要用图像填充你的存储库,让你的 CDN 来完成工作。
我觉得这是不正确的。我是对还是错?
【问题讨论】:
-
我可以添加...看起来 Rails 必须“看到”生产服务器上的
public/assets才能“知道”资产已被编译。因此,您的资产必须在您的回购中复制,一次在app/assets和public/assets中。这是正确的吗? -
你检查过Asset Pipeline Guide!偶然?
-
是的。它只是没有提供足够的深层细节来回答我的问题。
标签: ruby-on-rails-3.1 asset-pipeline