Couldn't find file 'jquery-ui'

JavascriptJqueryRuby on-Rails

Javascript Problem Overview


I am getting the following error even if I have jquery-ui in my application.js file

couldn't find file 'jquery-ui' (in /home/jeff/work/projects/a/media/app/assets/javascripts/application.js:14)

application.js

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

Can anybody help me?

Javascript Solutions


Solution 1 - Javascript

Use specific version of gem "jquery-rails", "~> 2.3.0" as later version of gem has deleted the ui part.

or

you can use gem "jquery-ui-rails" for jquery-ui . For more information please visit the git repository

To require all jQuery UI modules, add the following to your application.js:

for version 5.0 and more it has been changed. Please follow the link

application.js:

//= require jquery-ui

application.css:

/*
 *= require jquery-ui
 */

For lesser version than 5.0 we need to write below format

application.js:

//= require jquery.ui.all

Also add the jQuery UI CSS to your application.css:

application.css:

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

Hope this could help you

Solution 2 - Javascript

I think you are using new version (your version > 2.3.0) of jquery-rails.

jQuery UI has been removed from jquery-rails gem,

  • ≤ jquery-rails v2.3.0 still have jQuery UI
  • ≥ jquery-rails v3.0.0 jQuery UI removed

Take a look this commit.

If you are using ≥ jquery-rails v3.0.0 or latest version of jquery-rails

You should use jquery-ui-rails gem for using jquery UI in rails, https://github.com/joliss/jquery-ui-rails.

In your Gemfile, add:

gem 'jquery-ui-rails'

and run bundle install

  1. v2.3.0 < your version ≤ v4.2.1

    And put this into application.js

     //= require jquery.ui.all
    

    then put this into application.css

     *= require jquery.ui.all
    
  2. ≥ jquery-ui-rails v5.0.0 or latest version

    And put this into application.js

     //= require jquery-ui
    

    then put this into application.css

     *= require jquery-ui
    

    or to use specific modules read this

Don't forget restart your server.

If you are using ≤ jquery-rails v2.3.0

see my answer here https://stackoverflow.com/a/16996710/1297435 for use gem 'jquery-rails', "~> 2.3.0"

Solution 3 - Javascript

The rails 4 answer:

add to gemfile.rb:

gem 'jquery-ui-rails'

add to application.js:

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

to add a specific module:

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

I'm not sure if restarting your server is explicitly required but it never hurts anything.

Solution 4 - Javascript

I know its a noob mistake but I found this very frustrating and always forget to restart my app after I have installed something new.

Make sure to restart your rails server after you have followed the instructions above and it should work perfectly.

Solution 5 - Javascript

Kind of a noob mistake, but if it helps anyone..

I added jQuery-ui.js in my assets and then added the gem. Then deleted the js from assets, but my IDE also deleted the same files from the gem.

To resolve, first remove the gem and then run,

bundle clean --force

and then

bundle install

Solution 6 - Javascript

It could just be a matter of restarting WEBrick or any other server you might be using so it picks up the new assets. For WEBrick just go to your terminal window where your server is running and CTRL-C to terminate the process, after that just restart it again using rails s or whatever the command to start your server is.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSamView Question on Stackoverflow
Solution 1 - JavascriptDebadattView Answer on Stackoverflow
Solution 2 - Javascriptrails_idView Answer on Stackoverflow
Solution 3 - JavascriptJoe SusnickView Answer on Stackoverflow
Solution 4 - Javascriptdoz87View Answer on Stackoverflow
Solution 5 - JavascriptronnygeoView Answer on Stackoverflow
Solution 6 - JavascriptriiView Answer on Stackoverflow