Heroku不会更新资产修改

3

我正在使用Heroku部署我的Ruby on Rails应用程序,但是遇到了问题。当我部署应用程序时,在编译资产之前进行的修改不会更新到Heroku上。在本地主机上,我使用简单的rake assets:clean解决了这个问题,但在Heroku上这并不能解决我修改资产后的回退更新。

config.assets.initialize_on_precompile = false

config.assets.initialize_on_precompile = true

我已经更改了这个,但它仍然没有起作用。

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'

1
首先,当您在没有资产的情况下部署应用程序时,Heroku将为您预编译资产,因为它在资产中找不到 manifest.yml。 要使其起作用,请从本地和Heroku中删除公共文件夹中的所有资产文件。
production.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。


我已经尝试过这个方法,但在Heroku上资产仍然没有被修改。我之前使用命令在Heroku和本地主机上编译我的资产,在本地主机上我使用了assets:clean命令,但是在Heroku上却没有修改资产。 - overallduka
尝试运行 heroku run rake assets:clean 命令,它将清理 Heroku 上的资源。然后在不包含 public/assets 的情况下推送更改。 - Abibullah Rahamathulah

0
昨晚我也遇到了相同的问题,发现在推送到Heroku之后它与git断开了连接。重新进行GIT过程后再次将其推送到Heroku,一切都更新了。不知道为什么会断开连接,但这已经是我一整天的解决办法了。花了2-3个小时来尝试修复根本问题,但是这个解决方法更快。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接