我有一个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”,我运行时没有错误,只有几个折旧通知。
如果我在我的开发环境中启用了资产编译,那么所有内容似乎都被压缩到单个包含的资产中,就像我期望的那样。
有人可以就此提出任何建议吗?
答案 0 :(得分:0)
经过一些实验后,我注意到我有一些新的Heroku实例是在Ruby 2上运行的(显然是为Rails 4准备的)但是我的开发环境和运行这个给定代码库的现有heroku实例都在1.9.3上。 / p>
我已经更新了我的Gemfile以包含Ruby版本的明确定义,现在看起来在部署时效果非常好。