【发布时间】:2013-01-30 08:47:51
【问题描述】:
我的 Rails 应用程序的 app/assets 文件夹中有一个名为 components 的文件夹。我试图从我的application.coffee 文件中要求该目录的子目录中的 js 文件。
#= require holderjs/holder
这适用于我的开发环境。但是当我部署到 Heroku 时,它失败并出现以下错误:
Running: rake assets:precompile
Updating mtimes for current assets...
rake aborted!
couldn't find file 'holderjs/holder'
(in /tmp/build_s0zusz8pduh8/app/assets/javascripts/application.coffee:11)
我检查以确保组件文件夹位于 Heroku 上 Sprockets 的资产路径中,而且确实如此。所以我不明白为什么 Heroku 找不到这个文件。任何帮助将不胜感激。
【问题讨论】:
-
发布“rake assets:precompile --trace”的结果
-
在我的开发环境中,预编译资产没有任何反应。在 Heroku 上,我得到了上面的错误。
-
您是否尝试将
config.assets.initialize_on_precompile = false添加到config/application.rb?在 Heroku 上运行rake assets:precompile通常会在没有该行的情况下失败。 -
@redhotvengeance 是的,我做到了。任何其他文件都不会失败。仅适用于 components 文件夹内的文件。
标签: ruby-on-rails heroku sprockets