Heroku上的资产管道没有加载依赖项

时间:2013-06-19 08:58:29

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

我有一个Rails 3.2.8应用程序似乎在我的开发环境中运行良好,但是当部署到Heroku时,资产管道不再正确地编译我的资产 - 或者至少不加载我的依赖项。 / p>

例如http://myappsubdomain.herokuapp.com/assets/application-b389f6c8ee6250ebc143feb659f40ed9.js上找到的'编译'js资产包含原始源代码:

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

我的CSS资产也是如此,其中包括直接放在我的application.css中的所有样式,但没有加载所需的依赖资源。

预编译似乎在部署期间运行而没有错误:

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

我注意到如果我手动运行“heroku run rake asset:precompile”,我运行时没有错误,只有几个折旧通知。

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

有人可以就此提出任何建议吗?

1 个答案:

答案 0 :(得分:0)

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

我已经更新了我的Gemfile以包含Ruby版本的明确定义,现在看起来在部署时效果非常好。