1

我正在努力讓我的一個JavaScript文件加載/使用Rails4應用程序。 該文件是users.js.coffee。這是一個捕獲所有JavaScript文件,我想加載所有頁面(不一定只是爲用戶控制器)Rails4加載JavaScript文件。 (Asset Pipeline)

如果我嘗試加載localhost:3000/assets/users.js我可以看到編譯的JS文件。然而,使用CMD + O對鉻犯規加載該文件,並在事件不會被觸發,所以我知道它不工作(和加載)

也試過運行bundle exec rake assets:clean assets:precompile

我看不到任何500或400或JS控制檯中的錯誤。最簡單的users.js.coffee不工作,以及

$(document).ready -> 
    alert('hello') 

一些CONFIGS:

applcations.js

//= require jquery 
//= require jquery_ujs 
//= require js-routes 
//= require bootstrap-slider 
//= require users 
//= require_tree . 

development.rb config.assets.initialize_on_precompile =假 配置。 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工作正常之前,我開始使用自舉青菜等(上切讓自舉打轉轉,終於結束了自舉裝入從application.haml託管CDN的,不知道這是否應該會干擾如何加載/運行js文件)

任何指針來調試這是非常讚賞。已經花了幾個小時,資產管道讓我每次

感謝 PS: 我部署到Heroku的(然而,這未能在這兩個開發和Heroku的,所以希望在開發固定應足夠)

回答

0

更新application.js含量移動您的應用程序的JavaScript的依賴於所有其他庫之後//= require usersrequire_tree .前:

//= require jquery 
//= require jquery_ujs 
//= require js-routes 
//= require bootstrap-slider 
//= require users 
//= require_tree . 

需要JavaScript的順序是非常重要的在這裏。如果你的文件是users.js.coffee那麼你需要jQuery對於coffeescript所以jQuery必須在users之前需要。

+0

謝謝@vee。接得好。完全錯過了!我想我在調試時改變了順序。我將它恢復到您指定的順序(在問題中編輯),並且仍然存在相同的問題。任何其他事情,我可以嘗試? – codeObserver

+0

你說文件被成功加載,即'200 OK',這是文件中的JavaScript執行不正確?你可以添加你的'users.js.coffee'到你的問題。 – vee

+0

我沒有看到任何500或400或控制檯JS錯誤。最簡單的js.coffee不工作,以及$(文件)。就緒 - > 警報(「你好」) 另外這款js.coffee工作正常之前,我開始使用自舉,青菜等得到引導玩耍(上切線..最終在application.haml中從託管的CDN加載引導程序) – codeObserver

相關問題