簡體   English   中英

Rails4加載javascript文件。 (資產管道)

[英]Rails4 loading javascript files. (Asset Pipeline)

我正在努力讓我的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 =假config.serve_static_assets =假

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

另外,在我開始使用bootstrap-sass等獲取引導程序之前,users.js.coffee運行良好(最終,最終導致從application.haml中的托管CDN加載引導程序,不確定是否會干擾js的方式)文件已加載/正常運行)

非常感謝調試此問題的任何指針。 已經花了幾個小時,Asset Pipeline每次都能吸引我

謝謝PS:我正在部署到heroku(但是在dev和heroku中都失敗了,所以希望在dev中修復就足夠了)

通過將//= require users移動到應用程序的javascript所依賴的所有其他庫之后,但在require_tree .之前,來更新application.js內容require_tree .

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

此處需要javascript的順序很重要。 如果您的文件是users.js.coffee那么您需要使用jQuery coffeescript因此必須在users之前users jQuery

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM