Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript file is not updated in development with Rails

I changed a JS file under app/assets/javascripts but it is still the same. I deleted the file and re-created but the content is still the old one. This is my development.rb file:

App::Application.configure do
  # Settings specified here will take precedence over those in config/application.rb

  config.serve_static_assets = false

  # In the development environment your application's code is reloaded on
  # every request.  This slows down response time but is perfect for development
  # since you don't have to restart the web server when you make code changes.
  config.cache_classes = false

  # Log error messages when you accidentally call methods on nil.
  config.whiny_nils = true

  # Show full error reports and disable caching
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false

  # Don't care if the mailer can't send
  config.action_mailer.raise_delivery_errors = false

  # Print deprecation notices to the Rails logger
  config.active_support.deprecation = :log

  # Only use best-standards-support built into browsers
  config.action_dispatch.best_standards_support = :builtin

  # Do not compress assets
  config.assets.compress = false

  # Expands the lines which load the assets
  config.assets.debug = true

  config.action_mailer.delivery_method = :letter_opener

  config.action_mailer.default_url_options = { :host => "lvh.me:3000" }

  # Raise exception on mass assignment protection for Active Record models
  # config.active_record.mass_assignment_sanitizer = :strict

  # Log the query plan for queries taking more than this (works
  # with SQLite, MySQL, and PostgreSQL)
  config.active_record.auto_explain_threshold_in_seconds = 0.5

  config.log_tags = [:uuid, :remote_ip]
end

The JS file is loaded inside the header tag with this code:

<script src="/assets/deals.js?body=1" type="text/javascript"></script>

which is the normal way JS is loaded in development

like image 378
rtacconi Avatar asked Jun 01 '12 12:06

rtacconi


People also ask

Where do I put JavaScript in Ruby on Rails?

Open up your manifest file i.e application. js (this is the file where you need to include every javascript file you want to load into your rails app, add the script name to it //=require custom. Visit your rails app from browser and check the page source and search for custom. js being loaded or not thats all.

Can you use JavaScript with Ruby on Rails?

While RoR is a server side web development framework, JavaScript is a client side programming language. Therefore, you can easily use both of them within a single tech stack.

What does Webpacker do?

Webpacker is a Rails wrapper around the webpack build system that provides a standard webpack configuration and reasonable defaults.


3 Answers

Try to clear precompiled assets:

bundle exec rake assets:clean
like image 99
Danyil Velichko Avatar answered Sep 29 '22 13:09

Danyil Velichko


Try to delete the tmp folder and then restart the server - rails s. That will do it.

like image 30
Cfrim Avatar answered Sep 29 '22 12:09

Cfrim


bundle exec rake assets:clean and then bundle exec rake assets:precompile

like image 38
LegaTux Avatar answered Sep 29 '22 13:09

LegaTux