I was trying out some sample applications for Rails. I created some controllers and pages. But when i try to access one of them i get an exception on the webpage:
Sprockets::FileNotFound in Pages#home
Showing c:/railscode/test_app/app/views/layouts/application.html.erb
where line #6 raised:
couldn't find file 'jquery'
(in c:/railscode/test_app/app/assets/javascripts/application.js:7)
Extracted source (around line #6):
3: <head>
4: <title>TestApp</title>
5: <%= stylesheet_link_tag "application" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tags %> 8: </head> 9: <body>
Rails.root:`c:/railscode/test_app`
I created some controllers using the command:
$ rails generate controller Pages home contact
create app/controllers/pages_controller.rb
route get "pages/contact"
route get "pages/home"
invoke erb
create app/views/pages
create app/views/pages/home.html.erb
create app/views/pages/contact.html.erb
invoke rspec
create spec/controllers/pages_controller_spec.rb
create spec/views/pages
create spec/views/pages/home.html.erb_spec.rb
create spec/views/pages/contact.html.erb_spec.rb
invoke helper
create app/helpers/pages_helper.rb
invoke rspec
create spec/helpers/pages_helper_spec.rb
invoke assets
invoke js
create app/assets/javascripts/pages.js
invoke css
create app/assets/stylesheets/pages.css
Just wanted to know where the problem could be and where to look? I am accessing the page by the URL:
6 Answers
Un-commenting the line
//= require jquery
in application.js file and restarting the application is what worked for me.
Had a similar problem with FileNotFound for twitter/bootstrap after installing
I did rake assets:clean assets:precompile, but that didn't help. What helped was restarting the rails application as suggested by afaf12.
For me, the solution was to run yarn install. YMMV
It's quite possible that your jquery-rails gem is outdated. When I ran into a similar error, updating the gem solved the issue.
Did you create this as a Rails 3.1 application from scratch? Or are you downloading code from somewhere (or updating an older app)?
In rails 6.x.x the problem can be solved by executing
bundle exec rails webpacker:install
Just add a comment to your config/initialize/assets and then restart your rails server.
Rails.application.config.assets.paths << Rails.root.join('node_modules')