• Stars
  • Rank 229,614 (Top 5 %)
  • Language
  • License
    MIT License
  • Created about 2 years ago
  • Updated about 1 year ago


There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Live Reload for your Rails app. The easiest way to increase your productivity.

Rails Live Reload

RailsJazz Listed on OpenSource-Heroes.com


This is the simplest and probably the most robust way to add live reloading to your Rails app.

Just add the gem and thats it, now you have a live reloading. You don't need anything other than this gem for live reloading to work.

Works with:

  • views (EBR/HAML/SLIM) (the page is reloaded only when changed views which were rendered on the page)
  • partials
  • CSS/JS
  • helpers (if configured)
  • YAML locales (if configured)
  • on the "crash" page, so it will be reloaded as soon as you make a fix

The page is reloaded fully with window.location.reload() to make sure that every chage will be displayed.


Just add this gem to the Gemfile (in development environment) and start the rails s.


Add this line to your application's Gemfile:

group :development do
  gem "rails_live_reload"

And then execute:

$ bundle


run command:

rails generate rails_live_reload:install

The generator will install an initializer which describes RailsLiveReload configuration options.

How it works

There are 3 main parts:

  1. listener of file changes (using listen gem)
  2. collector of rendered views (see rails instrumentation)
  3. JavaScript client that communicates with server and triggers reloading when needed


The default configuration assumes that you either use asset pipeline, or that your assets compile quickly (on most applications asset compilation takes around 50-200ms), so it watches for changes in app/assets and app/javascript folders, this will not be a problem for 99% of users, but in case your asset compilation takes couple of seconds, this might not work propperly, in that case we would recommend you to add configuration to watch output folder.


You are welcome to contribute. See list of TODO's below.


  • reload CSS without reloading the whole page?
  • smarter reload if there is a change in helper (check methods from rendered views?)
  • generator for initializer
  • more complex rules? e.g. if "user.rb" file is changed - reload all pages with rendered "users" views
  • check with older Rails versions
  • tests or specs
  • CI (github actions)
  • auto reload when rendered controller was changed


  • Too many open files - pipe - increase limits by ulimit -n 10000


The gem is available as open source under the terms of the MIT License.