2013-07-24 9 views
58

Ich erhalte die folgenden Fehler auch wenn ich jquery-ui in meinem application.js DateiDatei kann nicht 'jquery-ui'

nicht finden kann Datei 'jquery-ui' (in finden/home/jeff/Arbeit/Projekte/a/media/app/assets/Javascripts/application.js: 14)

application.js

//= require jquery 
//= require jquery_ujs 
//= require jquery-ui 
//= require jquery.validate.min 

Kann jemand mir helfen?

+0

ist Juwel "Jquery-Rails" installiert? – Debadatt

+0

Ya. Ich habe bereits Edelstein in Gemfile – Sam

+1

verwenden spezifische Version von Gem "jquery-rails", "2.3.0" oder Sie können Edelstein "jquery-ui-rails" für jquery-ui als spätere Version von Gem hat den ui Teil – Debadatt

Antwort

114

Verwenden bestimmte Version von gem "jquery-rails", "~> 2.3.0" als spätere Version gem werden mit dem ui Teil gelöscht.

oder

können Sie gem "jquery-ui-rails" für jquery-ui verwenden. Für weitere Informationen besuchen Sie bitte die git repository

Um alle jQuery UI-Module benötigen, fügen Sie Folgendes zu Ihrem application.js:

für die Version 5.0 und es geändert wurde. Bitte beachten Sie die link

application.js:

//= require jquery-ui 

application.css:

/* 
*= require jquery-ui 
*/ 

Für kleinere Version als 5,0 wir unten Format schreiben müssen

application.js:

//= require jquery.ui.all 

Fügen Sie auch die Benutzeroberfläche jQuery CSS auf Ihre application.css:

application.css:

/* 
*= require jquery.ui.all 
*/ 

Hope this helfen könnte Sie

+0

Wenn ich gem "jquery-ui-rails" in meine Gemfile setze, dann kommt der Fehler, da die Datei 'jquery' nicht gefunden werden konnte. – Sam

+0

Aber gem 'jquery-rails', ~ ~ 2.3 .0 "funktioniert gut. Danke – Sam

+9

Ich fand, dass ich die App für den Zusatz von jquery-ui-Schienen neu starten musste. Schritte, die ich gemacht habe: 1. habe den Gemfile um 'jquery-ui-rails' ergänzt. 2. ran Bundle installieren. 3. hinzugefügt erfordert Application.js und application.css 4. neu gestartet Schienen App. funktioniert jetzt gut für mich. – Andrew

35

Ich denke, Sie verwenden eine neue Version (Ihre Version> 2.3.0) von jquery-rails.

jQuery UI wurde von jquery-Schienen gem entfernt worden ist,

  • ≤ jquery-rails v2.3.0 haben noch jQuery UI
  • ≥ jquery-rails v3.0.0 jQuery UI
  • entfernt

Werfen Sie einen Blick this commit.

Wenn Sie ≥ jquery-rails v3.0.0 oder die neueste Version von Jquery-Schienen mit

sollten Sie jquery-ui-rails gem verwenden für jquery UI in Schienen verwenden, https://github.com/joliss/jquery-ui-rails.

In Ihrem Gemfile hinzu:

gem 'jquery-ui-rails'

und bundle install

  1. v2.3.0 < Ihre Version ≤ v4.2.1

    Und diese laufen setzen in application.js

    //= require jquery.ui.all 
    

    diese dann in application.css

    *= require jquery.ui.all 
    
  2. ≥ jquery-ui-Schienen v5.0.0 oder die neueste Version

    Und das setzen in application.js

    //= require jquery-ui 
    

    diese dann in application.css

    *= require jquery-ui 
    

    oder spezifische Module read this

verwenden Vergessen Sie Ihren Server nicht neu starten.

Wenn Sie ≤ jquery-rails v2.3.0

siehe meine Antwort hier https://stackoverflow.com/a/16996710/1297435 für gem 'jquery-rails', "~> 2.3.0"

+0

gem 'jquery-rails', "~> 2.3.0" funktioniert gut. Danke – Sam

+1

Ihre Änderungen hier scheinen mehr zukunftssicher als eine bestimmte Version der gemfile. Danke für diese Antwort. – Broam

+0

Ich konnte es nicht mit 'gem 'jquery-rails'," ~> 2.3.0 "' arbeiten, so endete das Löschen von jquery-rails und nur mit 'gem 'jquery-ui-rails' in diesem Fall Sie müssen auch löschen '// = erfordern jquery' ' // = erfordern jquery_ujs' von application.js, sonst könnten Sie immer noch einen Fehler erhalten. Das hat den Trick für mich gemacht ... – PSR

9

Die Schienen 4 Antwort:

In gemfile.rb:

gem 'jquery-ui-rails' 

zu application.js hinzufügen:

//= require jquery 
//= require jquery-ui 
//= require jquery_ujs 

ein spezifisches Modul hinzufügen:

//= require jquery 
//= require jquery-ui/yourmodulename 
//= require jquery_ujs 

I‘ Ich bin mir nicht sicher, ob das Neustarten des Servers explizit erforderlich ist, aber es tut nie weh.

+1

Ja! Neustart des Servers repariert es für mich. – Adam

1

Art eines Noob Fehler, aber wenn es jemand hilft ..

ich jQuery-ui.js in meinem Vermögen hinzugefügt und dann das Juwel hinzugefügt. Dann löschte die JS aus Assets, aber meine IDE löschte auch die gleichen Dateien aus dem Edelstein.

zu beheben, zuerst das Juwel entfernen, und dann laufen,

bundle clean --force 

und dann

bundle install 
4

Ich weiß, es ist ein Noob Fehler, aber ich fand das sehr frustrierend und immer vergessen meine app neu starten nachdem ich etwas neues installiert habe.

Stellen Sie sicher, dass Sie Ihren Rails-Server neu starten, nachdem Sie die obigen Anweisungen befolgt haben, und es sollte einwandfrei funktionieren.

+0

kann nicht glauben, dass das mein Fehler war. –

0

Es könnte nur eine Frage des Neustarts von WEBrick oder eines anderen Servers sein, den Sie möglicherweise verwenden, so dass es die neuen Assets aufnimmt. Für WEBrick gehen Sie einfach zu Ihrem Terminal-Fenster, wo Ihr Server läuft und CTRL-C, um den Prozess zu beenden, danach starten Sie es wieder mit rails s oder was auch immer der Befehl zum Starten Ihres Servers ist.