Çok kafam karıştı ... Sitemde çalışıyordum ve biraz jQuery ekledim. Testten sonra jQuery'nin hiçbir şey yapmadığını gördüm. Daha sonra düşünebildiğim en basit ama görünür kodu denedim:
<script type="text/javascript">
$("html").click(function() {
$("html").html("");
});
</script>
Ancak bu bir şey yapmadı. Sadece "tanımsız" geri verir
Uncaught TypeError: $ is not a function
at <anonymous>:2:1
at Object.InjectedScript._evaluateOn (<anonymous>:848:140)
at Object.InjectedScript._evaluateAndWrap (<anonymous>:891:34)
at Object.InjectedScript.evaluate (<anonymous>:627:21)
ve sadece $
giren: Ben js konsolunda aynı kod çalıştı ve tekrar bu hata var.
Soruşturmayı araştırdım ve Gemfile'ı yanlışlıkla taşıdığımı ve sunucunun jquery-rails
gemine erişemediğini gördüm. Ama onu geri yükledikten ve sunucuyu yeniden başlattıktan sonra sorun ortadan kalkmadı.
Daha sonra sayfamda jQuery'nin çalışmasını engelleyen bazı hatalı kodlar olduğunu düşündüm. Tüm kodu kaldırdım, bu sadece boş bir belgeydi, çalıştırdı ve tekrar denedi, ancak konsolda aynı hataları aldım.
benim app head
bu içerir:
<head>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
</head>
Benim app/assets/javascripts/application.js
hattını oluşturmak //= require jquery
Ve bundle install
döner "jquery-raylar 4.1.1" içerir.
Daha önce herhangi bir sorun olmadan aynı sayfada çok fazla jQuery çalıştırdım. Sunucum aniden jQuery'yi anlamadı. Dünyada neler olabilirdi?
söz konusu kod nedir? Diğer her şeyi dahil etmiş görünüyorsun, o zaman sen de bütün shebang'ı yapabilirsin. – MarsAtomic
Yay çalışıyorsanız, sunucunuzu çalışır durumda tutar. 'Bin/spring stop' ı deneyin ve sunucunuzu yeniden başlatın. –
@PetrGazarov Ben bahar koşuyorum ama ne dediğini denedim ve hiçbir şey değişmedi. –