如何让资产管道处理所有你的.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并启用资产管道。
heroku create --stack cedar
。 gem 'thin'
。 public/assets
移至app/assets
,更新代码中的引用以使用stylesheet_link_tag
和javascript_include_tag
。 (无论我为图像做了什么 - 它们都有效。)//
// application.js
//
//= require_self
//
答案 0 :(得分:4)
例如:
# WORKS
javascript_include_tag "application"
stylesheet_link_tag "application"
# BROKEN
javascript_include_tag "jueryui.custom"
stylesheet_link_tag "jueryui.custom"
# WORKS
javascript_include_tag "jueryui.custom.js"
stylesheet_link_tag "jueryui.custom.css"
我想我可以理解为什么会这样,但我认为在任何资产管道教程中都没有很好地记录。众所周知,您的资产文件名中不应包含句点吗?
答案 1 :(得分:0)
我认为在application.js和application.css中都需要以下内容:
// = require_tree。
这会加载CSS和JS的assets目录中的所有文件。
还要升级到3.1和资产管道信息:
http://railscasts.com/episodes?utf8=✓&安培;搜索=资产+管道
另外:Using Rails 3.1 assets pipeline to conditionally use certain css