【发布时间】:2012-02-25 19:14:45
【问题描述】:
问题:
如何让资产管道处理所有您的 .js 文件?(我希望它们单独提供,而不是捆绑到 application.js 中)
我的页面试图引用的 javascript 文件收到大量 404:
GET http://<myStagingServer>.heroku.com/assets/<javascriptFilename1_MD5fingerprint> 404 (Not Found)
GET http://<myStagingServer>.heroku.com/assets/<SubDir>/<javascriptFilename2_MD5fingerprint> 404 (Not Found)
我尝试将此添加到config/application.rb:
config.assets.precompile << '*.js'
但据我所知,这并没有起到任何作用。
背景:
我正在从 Rails 3.0 升级到 3.1 并启用资产管道。
迄今为止的亮点:
- 从 Bamboo 切换到 Heroku 的 Cedar 堆栈:
heroku create --stack cedar。 - 切换到“瘦”作为生产服务器,修复了各种问题:
gem 'thin'。 - 将我的资产从
public/assets移动到app/assets,更新代码中的引用以使用stylesheet_link_tag和javascript_include_tag。 (加上我为图像所做的一切——它们都有效。) - 删除 x_sendfile_header 配置选项,因为 Heroku doesn't support it。
相关文件:
//
// application.js
//
//= require_self
//
【问题讨论】:
-
我不知道编译对 .js 和 .css 意味着什么。我想我会在这里学到一些东西。
-
向我们展示你的 application.js/css
-
@duffymo:呵呵——我的意思是我希望它们被 Sprockets 拾取(我认为),给定和 MD5 指纹,然后移动到适当的文件夹。
-
我想我会改写我的问题,除非这是 Rails 爱好者对该词的常用用法。
-
@SergioTulentsev,我刚刚注意到我一直在使用“require_tree”。而不是 application.js 中的“require_self”,所以我改变了它。现在我的开发环境可以工作了,但我仍然在登台/生产时遇到错误。
标签: ruby-on-rails