This project is archived and is in readonly mode.

#3611 ✓stale
Martin Vielsmaier

ActiveRecord: LoadError should be handled more carefully

Reported by Martin Vielsmaier | December 23rd, 2009 @ 11:23 PM

I had some problems loading an activerecord connection adapter. AR constantly raised an error telling me to install the gem in question. It feels like 2357 times I checked it and the load paths and anything. Until I found that the load error was not raised by the require statement that loaded the adapter but inside one of the loaded library which was missing something.

This code should check what could not be loaded.
(active_record/connection_adapters/abstract/connection_specification.rb starting at line 68)

begin
  require 'rubygems'
  gem "activerecord-#{spec[:adapter]}-adapter"
  require "active_record/connection_adapters/#{spec[:adapter]}_adapter"
rescue LoadError
  begin
    require "active_record/connection_adapters/#{spec[:adapter]}_adapter"
  rescue LoadError
    raise "Please install the #{spec[:adapter]} adapter: `gem install activerecord-#{spec[:adapter]}-adapter` (#{$!})"
  end
end

I should mention that this problem occurred in an environment without rubygems (jruby loading from jar).

Comments and changes to this ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2 style="font-size: 14px">Tickets have moved to Github</h2>

The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>

Pages