Ответ 1
Это то, что я сделал:
Создать файл под lib/rescued_apartment_middleware.rb
module RescuedApartmentMiddleware
def call(*args)
begin
super
rescue Apartment::TenantNotFound
Rails.logger.error "ERROR: Apartment Tenant not found: #{Apartment::Tenant.current.inspect}"
return [404, {"Content-Type" => "text/html"}, ["#{File.read(Rails.root.to_s + '/public/404.html')}"] ]
end
end
end
и добавьте в файл инициализатора квартиры следующие строки:
require 'rescued_apartment_middleware'
Rails.application.config.middleware.use 'Apartment::Elevators::Subdomain'
Apartment::Elevators::Subdomain.prepend RescuedApartmentMiddleware
Это работает как шарм! (Протестировано с рубином 2.1 и Rails 4.1)