【问题标题】:Are Files in Public/Assets Required with Asset Pipeline?资产管道是否需要公共/资产中的文件?
【发布时间】:2012-05-01 02:31:56
【问题描述】:

我正在将 3.0 Rails 应用升级到 3.1.4,包括 Asset Pipeline。

我在 Heroku 上,所以我的 application.rb 中有这个

config.assets.initialize_on_precompile = false

我在跑步时注意到:

bundle exec rake assets:precompile

它在 public/assets 目录中创建文件(即使我的资产已经在 app/assets 中)。

例如,它会创建像 application-72b2779565ba79101724d7356ce7d2ee 这样的文件,以及复制我在 app/assets 中的图像。

我的问题是: (1) 应该将这些文件上传到我的生产服务器吗? (2) 如果我想上传这些,我想更新每个应用程序-xxxxxxxx 还是只更新最新的?

【问题讨论】:

    标签: ruby-on-rails-3 asset-pipeline


    【解决方案1】:

    关于您的第一个问题:Heroku 不允许您修改文件系统。所以您的断言是正确的——您需要在将资产管道发送到 Heroku 之前对其进行预编译,以便在您的生产环境中使用它。

    而后者:您需要确保您拥有最新的编译。任何其他都不会使用。 “xxxxxxx”部分是为了确保您的用户拥有您的资产的最新和最好的版本。这是一种对浏览器获取的内容进行版本控制的方法,并确保它们没有缓存 JavaScript 的错误副本,当您想要设置它们的缓存以尽可能长时间地保留 JS 和 CSS 文件时,而不是不断从您的网络服务器获取它。

    对我的 Heroku cmets 稍加保留,因为我之前没有部署到 Heroku。我只是在某种程度上知道他们的系统是如何工作的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-21
      • 2012-11-06
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 2014-11-07
      • 1970-01-01
      • 2016-02-09
      相关资源
      最近更新 更多