Я запускаю Rails 3.0.8 с веб-сервером Webrick, запущенным в производственном режиме с такой командой
RAILS_ENV=production rails server
У меня следующая проблема.
Я прочитал, что рельсы вПроизводственный режим должен обрабатывать все исключения и ошибки.Но на самом деле у меня все еще появляется сообщение об ошибке «ActiveRecord :: RecordNotFound», когда я пытаюсь получить несуществующий элемент в производственном режиме.
Я также читал о
rescue_from ActiveRecord::RecordNotFound, :with => :page_not_found
такиххак, но я думаю, что это не Rails-way.
вот мое содержимое файла production.rb:
BeerPub::Application.configure do
# Settings specified here will take precedence over those in config/application.rb
# The production environment is meant for finished, "live" apps.
# Code is not reloaded between requests
config.cache_classes = true
config.whiny_nils = false
# Full error reports are disabled and caching is turned on
config.consider_all_requests_local = false
config.action_view.debug_rjs = false
config.action_controller.perform_caching = true
# Specifies the header that your server uses for sending files
config.action_dispatch.x_sendfile_header = "X-Sendfile"
# For nginx:
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
# If you have no front-end server that supports something like X-Sendfile,
# just comment this out and Rails will serve the files
# See everything in the log (default is :info)
# config.log_level = :debug
# Use a different logger for distributed setups
# config.logger = SyslogLogger.new
# Use a different cache store in production
# config.cache_store = :mem_cache_store
# Disable Rails's static asset server
# In production, Apache or nginx will already do this
config.serve_static_assets = true
# Enable serving of images, stylesheets, and javascripts from an asset server
# config.action_controller.asset_host = "http://assets.example.com"
# Disable delivery errors, bad email addresses will be ignored
# config.action_mailer.raise_delivery_errors = false
# Enable threaded mode
# config.threadsafe!
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
# the I18n.default_locale when a translation can not be found)
config.i18n.fallbacks = true
# Send deprecation notices to registered listeners
config.active_support.deprecation = :notify
end
Как видите, это довольно обычно.
Пожалуйста, помогите мне решить эту проблему.
UPD:
Я также могу получить следующую ошибку
Routing Error
No route matches "/lol"
Это другой тип исключения, новопрос тот же.Как лучше всего справляться с такими ситуациями?