【发布时间】:2013-06-19 08:58:28
【问题描述】:
我有一个 Rails 3.2.8 应用程序,它似乎在我的开发环境中运行良好,但是当部署到 Heroku 时,资产管道不再正确编译我的资产 - 或者至少,没有加载我的依赖项。
例如,在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”,我运行时不会出错,只有几个折旧通知。
如果我在我的开发环境中启用资产编译,一切似乎都被压缩到单个包含的资产中就好了,正如我所期望的那样。
任何人都可以就此提供任何建议吗?
【问题讨论】:
-
因为在本地运行编译似乎没有问题我已经回滚到这种方法而不是让 Heroku 将资产编译为 slug 的一部分 - 我仍然不知道为什么会这样不过不是直接在 Heroku 上工作。
标签: ruby-on-rails-3 heroku asset-pipeline