2012-05-11 21 views
11

Düne kadar jQuery, Rails uygulamasında iyi yükleniyordu. Ben debugger/ruby-debug gem yükleme yüklü etrafında oynuyordum. Muhtemelen bildiğiniz gibi Rails 3'teki debugger gem ile ilgili sorunlar var ve dependancies'i kurmada başarısız oldum, bu yüzden Gemfile'ımdaki taşları kaldırdım. O zamandan beri sitem yüklenirken jQuery yüklenmiyor. Bunlar Konsolda görebileceğiniz mesajlar şunlardır:Neden jQuery Rails 3.2.3 uygulamasında yüklenmiyor?

assets/jquery_ujs.js?body=1:377Uncaught ReferenceError: jQuery is not defined 
bootstrap-transition.js:24Uncaught TypeError: undefined is not a function 
bootstrap.js:3Uncaught ReferenceError: jQuery is not defined 
welcome:210Uncaught ReferenceError: $ is not defined 

Ve işte benim application.js dosyasıdır: Öyle gibi, açıkça düzenleri/application.html.erb içinde jQuery yüklerseniz,

//= require jquery 
//= require jquery_ujs 
//= require twitter/bootstrap 
//= require_tree . 

çalışır:

<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" %> 
<%= javascript_include_tag "application" %> 

Bunu çözmek ve jQuery yüklemesini yeniden yüklemek için neler yapabileceğime dair herhangi bir fikrin var mı? .rvm/gems/ruby-1.9.3-p125/gems/jquery-rails-2.0.2/vendor/assets/javascripts içinde bakıyorum jquery.js ve jquery.min.js görüyoruz hala orada.

+0

Hala gemfile 'gem' jquery-rails 'satırı var mı? –

+0

Elbette. Bir mücevher bile 'jquery-ray' başarıyla kuruldu. –

+0

JQuery libs'ı app/assets/javascripts klasörüne koymayı denediniz mi? – uday

cevap

11

Teşekkürler @Djj. Application.js ağacımın yeniden sipariş edilmesi sorunu çözmüş görünüyor. Benim revize edilmiş ağaçım:

+1

Bunun neden işe yaradığı hakkında bir fikrin var mı? – tibbon

+0

bu benim de sorunumu çözdü! – kibaekr

0

Uzun bir süre geçtikten sonra, bu hatayla ilgili sorunumu çözdü.

Jquery'nin yalnızca bir kez yüklendiğinden emin olun.

Gemfile içinde gem 'jquery-rails' ekleyin ve

$ bundle installapp/assets/javascripts/application.js dosyasında bu eklemeyi unutmayın yapmak.

//= require jquery 
//= require jquery_ujs 

// require jquery gibi yanlış Jquery yüklenmemesi yol açar sözdizimi.

Her şey doğru içeriyorsa, html dosyanızın sayfa kaynağı, içerdiği tüm kaynak dosyaları göstermelidir.

Benim için bir sorunum vardı çünkü uygulama/uygulama/javascript altındaki application.js dosyasında uygulama gerektirmeden ayrı olarak uygulama/görünümler/düzenler altında application.html.erb dosyasında jquery eklenti kaynaklarını google'dan yüklüyorum. Bu jquery yeniden tanımlanmış ve placeholder() tanımlanmamış, null için tanımlanmayan oApi gibi birkaç hatalar ortaya çıkmasına neden olur.

4

Benim durumumda sorun, javascript dosyasını eşzamansız yükleme nedeniyle oldu.

<%= javascript_include_tag "application", :async => true %> 

<%= javascript_include_tag "application" %> 

geri geçiş sorunu çözdü.

+0

Bu benim için de düzeltildi. Async'den faydalanmak isterim, neden sorunlara yol açtığı hakkında bir fikriniz var mı? – Marklar

İlgili konular