title: Rails server doesn't see code changes and reload files
body: <p>I noticed that my rails server doesn't reload controllers, models and probably any other files after I change them. I use Vagrant and Rails API, and I found that some people fix this problem by adding below line to the <code>Vagrantfile</code>.</p>
  
  <pre><code>config.vm.provider "virtualbox" do |vb|
    vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 5000 ]
  end
  </code></pre>
  
  <p>It doesn't fix the problem for me. I run out of the ideas what else I can do to solve this problem. I attach files which might be useful for you.</p>
  
  <p>My <code>Gemfile</code> looks like this:</p>
  
  <pre><code>source 'https://rubygems.org'
  
  gem 'rake', '&lt; 11.0'
  
  # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
  gem 'rails', '&gt;= 5.0.0.beta3', '&lt; 5.1'
  # Use mysql as the database for Active Record
  # gem 'mysql2', '&gt;= 0.3.18', '&lt; 0.5'
  
  # User PostgreSQL as the database for Active Record
  gem 'pg', '~&gt; 0.18'
  
  gem 'active_model_serializers'
  
  gem 'rspec-its'
  
  gem 'database_cleaner'
  
  # Use Puma as the app server
  gem 'puma'
  # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
  # gem 'jbuilder', '~&gt; 2.0'
  # Use Redis adapter to run Action Cable in production
  # gem 'redis', '~&gt; 3.0'
  # Use ActiveModel has_secure_password
  # gem 'bcrypt', '~&gt; 3.1.7'
  
  # Gem allowing using external APIs
  gem 'httparty'
  
  # Auth0 gem for authentication using JWT
  gem 'knock'
  
  gem 'jwt'
  
  # OpenID Omniauth gem for authenticating Steam users
  gem 'omniauth-steam'
  
  # Gem for managing environment variables
  gem 'figaro'
  
  # Use Capistrano for deployment
  # gem 'capistrano-rails', group: :development
  
  # Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible
  gem 'rack-cors', :require =&gt; 'rack/cors'
  
  group :development, :test do
    # Call 'byebug' anywhere in the code to stop execution and get a debugger console
    gem 'byebug'
    gem 'rspec-rails', '~&gt; 3.0'
    gem 'factory_girl_rails'
    gem 'ffaker'
  end
  
  group :test do
    gem 'shoulda-matchers'
    gem 'json-schema'
  end
  
  group :development do
    gem 'listen', '~&gt; 2.10'
    # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
    gem 'spring'
    gem 'spring-watcher-listen', '~&gt; 2.0.0'
  end
  
  # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
  gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
  </code></pre>
  
  <p>I'm sure that I run my server in development mode, because of the beggining of the log</p>
  
  <pre><code>=&gt; Booting Puma
  =&gt; Rails 5.0.0.beta3 application starting in development on http://0.0.0.0:3000
  =&gt; Run `rails server -h` for more startup options
  =&gt; Ctrl-C to shutdown server
  Puma starting in single mode...
  * Version 3.1.0 (ruby 2.2.3-p173), codename: El Niño Winter Wonderland
  * Min threads: 5, max threads: 5
  * Environment: development
  * Listening on tcp://0.0.0.0:3000
  </code></pre>
  
  <p>This is my <code>development.rb</code> file</p>
  
  <pre><code>Rails.application.configure do
    # Settings specified here will take precedence over those in config/application.rb.
  
    # 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
  
    # Do not eager load code on boot.
    config.eager_load = false
  
    # Show full error reports.
    config.consider_all_requests_local = true
  
    # Enable/disable caching. By default caching is disabled.
    if Rails.root.join('tmp/caching-dev.txt').exist?
      config.action_controller.perform_caching = true
  
      config.action_mailer.perform_caching = false
  
      config.cache_store = :memory_store
      config.public_file_server.headers = {
        'Cache-Control' =&gt; 'public, max-age=172800'
      }
    else
      config.action_controller.perform_caching = false
  
      config.action_mailer.perform_caching = false
  
      config.cache_store = :null_store
    end
  
    # 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
  
    # Raise an error on page load if there are pending migrations.
    config.active_record.migration_error = :page_load
  
  
    # Raises error for missing translations
    # config.action_view.raise_on_missing_translations = true
  
    # Use an evented file watcher to asynchronously detect changes in source code,
    # routes, locales, etc. This feature depends on the listen gem.
    config.file_watcher = ActiveSupport::EventedFileUpdateChecker
  end
  </code></pre>
  
  <p>My <code>Vagrantfile</code> </p>
  
  <pre><code>Vagrant.configure(2) do |config|
  
    if Vagrant.has_plugin?("vagrant-timezone")
      config.timezone.value = "Europe/Warsaw"
    end
  
    config.vm.box = "ubuntu/trusty64"
  
    config.vm.network :forwarded_port, guest: 3000, host: 3000
    config.vm.synced_folder "E:/Projekty - Rails", "/home/projekty"
  
    config.vm.provider "virtualbox" do |vb|
      vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 5000 ]
    end
  end
  </code></pre>