Rails does not restart controllers, helpers for every request in FreeBSD 9.1

I discovered strange rail behavior. Please give me some tips!

For example, I have a code like this:

def new raise end 

I am running rails server in development mode. Click Refresh in browser and see

RuntimeError in AuthenticationController # new

Good. I will comment on the โ€œraiseโ€ line as follows:

 def # raise end 

Hit the update in the browser, but again I see this error as shown above. Despite the fact that in the browser I see the code with the comments "raise".

I assume controllers and assistants, etc. reload, but the rails return cached results.

configurations / environment / development.rb:

 Rails.application.configure do # BetterErrors::Middleware.allow_ip! '192.168.78.0/16' # In the development environment your application 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 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 # Raise an error on page load if there are pending migrations. config.active_record.migration_error = :page_load # Debug mode disables concatenation and preprocessing of assets. # This option may cause significant delays in view rendering with a large # number of complex assets. config.assets.debug = true # Asset digests allow you to set far-future HTTP expiration dates on all assets, # yet still be able to expire them through the digest params. config.assets.digest = true # Adds additional error checking when serving assets at runtime. # Checks for improperly declared sprockets dependencies. # Raises helpful error messages. config.assets.raise_runtime_errors = false # Raises error for missing translations # config.action_view.raise_on_missing_translations = true end 

How do I start the server:

 => Booting Puma => Rails 4.2.1.rc3 application starting in development on http://0.0.0.0:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server Puma 2.11.1 starting... * Min threads: 0, max threads: 16 * Environment: development * Listening on tcp://0.0.0.0:3000 

Any suggestions please.

UPDATE 1. This problem does not exist on Ubuntu 14.04, but exists on FreeBSD 9.1.

I created a simple application and first tested it in FreeBSD (same problem), in Ubuntu (no problem).

Can you help me with tips on how to deal with this problem on FreeBSD 9.1?

+9
ruby-on-rails freebsd ruby-on-rails-4
source share
4 answers

I finally figured it out!

Here is the answer to the rail tracker: https://github.com/rails/rails/issues/16678

If you use VirtualBox + NFS, you must synchronize the time between the host and client due to some changes in Rails 4.

+4
source share

Had the same problem with Rails 5 + Vagrant + Ubuntu 16. None of the above solutions worked (the time of my guest and host is synchronized).

The only thing that worked for me was to comment on the next line from config/environments/development.rb

config.file_watcher = ActiveSupport::EventedFileUpdateChecker

I think I would post this if someone else gets to this page for a similar problem, like me.

+15
source share

Please check if you are actually using the application in development mode and not in production.

Also check /config/environments/development.rb to make sure cache classes are disabled:

 config.cache_classes = false 

This other post can help you.

+2
source share
 Rails.application.reloader.reload! 

found method(:reload!).source in the rails console.

(rails 6)

0
source share

All Articles