3

我正在使用heroku在rails上部署我的应用程序在ruby中,但遇到问题,当我部署我的应用程序时,在编译我之前,heroku不会更新所做的修改资产。我解决我的问题在本地主机使用简单rake assets:clean但在Heroku上这并没有解决什么我做备份更新,当我修改我的资产Heroku不更新资产修改

config.assets.initialize_on_precompile = false 

config.assets.initialize_on_precompile = true 

改变这一点,但它不工作

回答

6

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

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

如果仍然不工作,它可能是一个缓存的问题,在这种情况下,您可以手动撞击版本config/application.rb,并重新部署到期以前所有的资产

防爆:

config.assets.version = '1.2' # change to '1.3' 
+0

不工作我如何继续讨论这个问题。 – overallduka 2013-02-23 13:49:08

1

首先。当您部署不带资产的应用程序时,Heroku会为您预编译资产,因为它不会找到清单.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。在预编译。理想情况下,该选项应该是错误的。

config.assets.compile = true 

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

+0

我做这个,但资产连续不修改在heroku中,我使用命令之前编译我的资产在heroku和我的本地主机,在本地主机我问题'资产:干净',但英雄不修改资产。 – overallduka 2013-02-23 13:43:40

+0

尝试'heroku运行耙资产:干净'它会清理heroku上的资产。然后在不使用'public/asets'的情况下推送更改 – 2013-02-25 07:27:17

0

昨晚我有这个相同的问题,我发现在推送到heroku后,它从git断开。一旦我再次通过GIT过程,然后将它推到heroku的所有更新。不知道为什么它断开,但这一直是我的工作一整天。花费2-3小时试图解决根本问题,但解决方法更快。