3

我正在使用 heroku 在 ruby​​ on rails 中部署我的应用程序,但是有一个问题,当我部署我的应用程序时,在我编译资产之前,heroku 不会更新我所做的修改。我使用简单的方法在 localhost 中解决了我的问题,rake assets:clean但是在 heroku 中,这并不能解决我在修改资产时所做的更新

config.assets.initialize_on_precompile = false

config.assets.initialize_on_precompile = true

改变了这个,但它不起作用

4

3 回答 3

6

有几件事要做。首先是重新部署

$ rake assets:clean
$ rake assets:precompile
$ git add .
... deploy to heroku

如果它仍然不起作用,则可能是缓存问题,在这种情况下,您可以手动插入版本config/application.rb并重新部署以使之前的所有资产过期

前任:

config.assets.version = '1.2' # change to '1.3'
于 2013-02-22T22:26:55.820 回答
1

首先。当您部署没有资产的应用程序时,Heroku 将为您预编译资产,因为它不会找到manifest.yml。在资产。

使这项工作。

从 local 和 heroku 中的 public 文件夹中删除所有资产文件。

在生产中.rb

确保你有这些代码。

  config.serve_static_assets = false
  config.assets.compress = true
  config.assets.digest = true
  config.assets.compile = false

如果您希望 rails 应用程序在找到任何资产时为您查找资产,请设置 assets.compile = true。在预编译。理想情况下,此选项应为 false。

  config.assets.compile = true

将这些干净的更改推送到 heroku。

于 2013-02-23T01:00:18.270 回答
0

昨晚深夜我遇到了同样的问题,我发现在推送到 heroku 后它与 git 断开连接。一旦我再次完成 GIT 流程,然后将其推送到 heroku,一切都会更新。不知道为什么它会断开连接,但这一直是我整天的工作。花了 2-3 个小时试图解决根本问题,但解决方法更快。

于 2013-04-01T16:59:58.393 回答