Я обнаружил странное поведение рельсов. Пожалуйста, дайте мне совет!
Например, у меня есть такой код:
def new
raise
end
Я запускаю сервер rails в режиме разработки. Нажмите обновить в браузере и посмотрите
RuntimeError в AuthenticationController#new
Хорошо. Я комментирую строку с «поднять» следующим образом:
def
# raise
end
Нажмите «Обновить» в браузере, но снова я вижу эту ошибку, как показано выше. Хотя в браузере я вижу код с закомментированным "поднять".
Я предполагаю, что контроллеры, помощники и т. д. перезагружаются, но рельсы возвращают кешированные результаты.
config/environments/development.rb:
Rails.application.configure do
# BetterErrors::Middleware.allow_ip! '192.168.78.0/16'
# 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 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
Как я запускаю сервер:
=> 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
Любые предложения, пожалуйста.
ОБНОВЛЕНИЕ 1. Этой проблемы нет в Ubuntu 14.04, но есть во FreeBSD 9.1.
Я создал простое приложение и протестировал его сначала во FreeBSD (та же проблема), а затем в Ubuntu (без проблем).
Не могли бы вы помочь мне советом, как справиться с этой проблемой на FreeBSD 9.1?