2013-06-19 33 views
1

我有一个Rails 3.2.8应用程序,它在我的开发环境中似乎很好地工作,但是当部署到Heroku时,资产管道不再正确地编译我的资产 - 或者至少,不在我的依赖中加载。Heroku上的资产管道没有加载依赖

例如产生的“编译” JS资产,是在http://myappsubdomain.herokuapp.com/assets/application-b389f6c8ee6250ebc143feb659f40ed9.js发现包含原始源代码:

//= require jquery 
//= require jquery-ui 
//= require jquery_ujs 
//= require twitter/bootstrap 
//= require_tree . 
$(".tip").tooltip(); 

这也是我的CSS的资产,其中包括直接在我的应用程序放置在任何风格的真实。 。CSS,但

在没有加载所需的相关资产的预编译似乎没有错误的部署期间运行:

-----> Preparing app for Rails asset pipeline 
     Running: rake assets:precompile 
     Asset precompilation completed (8.79s) 

我注意到,如果我手动运行“heroku运行rake资源:预编译”我运行没有错误,只有几个折旧通知。

如果我在我的开发环境中启用了资产编译功能,那么所有内容似乎都会被压缩到单个包含的资产中,就像我期望的那样。

任何人都可以提供任何意见吗?

+0

因为在本地运行编译似乎没有问题我已经回滚到这种方法,而不是让Heroku编译资产作为slug的一部分 - 我仍然不明白为什么这不直接工作Heroku虽然。 – SirRawlins

回答

0

经过一些更多的实验后,我注意到我有一个新的Heroku实例在Ruby 2上运行(显然是在准备Rails 4),但是我的开发环境和运行这个给定代码库的现有heroku实例在1.9.3上。

我已经更新了我的Gemfile以包含Ruby版本的明确定义,现在事情看起来在部署时可以很好地工作。