我正努力让我的一个javascript文件加载/使用Rails4应用程序。 该文件是users.js.coffee。这是我想要为所有页面加载的所有javascript文件(不一定只是用户控制器)
如果我尝试通过localhost:3000 / assets / users.js加载,我可以看到已编译的JS文件。但是在chrome上使用cmd + o不会加载文件,也不会触发事件,所以我知道它不起作用(并加载)
还尝试了bundle exec rake assets:clean assets:precompile
我在控制台中看不到任何500或400或js错误。最简单的users.js.coffee也不起作用
$(document).ready ->
alert('hello')
一些配置:
applcations.js
//= require jquery
//= require jquery_ujs
//= require js-routes
//= require bootstrap-slider
//= require users
//= require_tree .
development.rb config.assets.initialize_on_precompile = false config.serve_static_assets = false
production.rb
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = true
# Compress JavaScripts and CSS
config.assets.compress = true
config.assets.compile = false
# Generate digests for assets URLs
config.assets.digest = true
config.assets.debug=true
另外users.js.coffee在我开始使用bootstrap-sass等获取引导程序之前工作正常(在切线上,最终最终从application.haml中的托管CDN加载引导程序,不确定它是否应该干扰如何加载/工作的js文件)
非常感谢任何调试此指针。已经花了几个小时,Asset Pipeline每次都会得到我
由于 P.S: 我正在部署到heroku(但是这在dev和heroku都失败了,所以希望修复dev应该就够了)
答案 0 :(得分:0)
通过在应用程序的javascripts所依赖的所有其他库之后但在application.js
之前移动//= require users
来更新require_tree .
内容:
//= require jquery
//= require jquery_ujs
//= require js-routes
//= require bootstrap-slider
//= require users
//= require_tree .
要求javascripts的顺序在这里很重要。如果您的文件为users.js.coffee
,则jQuery
需要coffeescript
,因此jQuery
之前必须{}}}。