Mehmango
Mehmango

Reputation: 61

Ruby on Rails - javascript(s) folder and application.js missing

I'm new to Rails and trying to use some Javascript, but everywhere I go I see application.js mentioned, but it's nowhere to be found in my directories.

I followed the official guide and created a blog. But there is no javascript folder or application.js file under app/assets like I'm expecting.

I'm using Rails 7. During installation, I had errors with the tzinfo-data gem, but fixed it later.

Image of the newly created blog assets folder

Upvotes: 6

Views: 2482

Answers (3)

Alex
Alex

Reputation: 29766

Make sure your preferred javascript handling gem is installed successfully. Each gem's install task will add app/javascript/application.js.


importmap-rails is installed by default in rails 7. It adds an empty application.js.
Install command: bin/rails importmap:install
https://github.com/rails/importmap-rails/blob/v1.1.0/lib/install/install.rb#L11


jsbundling-rails
Install command: bin/rails javascript:install:[esbuild|rollup|webpack]
https://github.com/rails/jsbundling-rails/blob/v1.0.2/lib/install/install.rb#L24


shakapacker (aka webpacker)
Install command: bin/rails webpacker:install
https://github.com/shakacode/shakapacker/blob/v6.4.1/lib/install/template.rb#L11


You should see this bit when running rails new:

...
         run  bundle binstubs bundler
       rails  importmap:install
Add Importmap include tags in application layout
      insert  app/views/layouts/application.html.erb
Create application.js module as entrypoint
      create  app/javascript/application.js          # <= this one
...

Upvotes: 4

MUNEEB UL REHMAN
MUNEEB UL REHMAN

Reputation: 61

Run this command. rails importmap:install.This should solve the problem.

Upvotes: 6

usmanzkhan
usmanzkhan

Reputation: 1

This is what I did. add gem Webpcker to Gem file ran bundle install ran webpacker:install The javascript folder was added under assets. Rails 7

Upvotes: 0

Related Questions