Используйте ActiveRecord :: ConnectionHandling.establish_connection вызов функции для подключения к вашей базе данных.Вы должны иметь возможность устанавливать соединение с другим пользователем даже на каждой странице, если хотите, или искать учетные данные базы данных в модели пользователя.
Если вы делаете это, вы можете рассмотреть возможность создания подкласса ActiveRecord::Base
и переопределение вызова connection
, который затем будет использоваться каждой моделью для подключения к базе данных.
Если вы хотите полностью избежать подключения к базе данных, прежде чем явно настроить учетные данные через свое приложениетогда вы, вероятно, захотите инициализировать Rails без загрузки всех специфических вещей ActiveRecord.В этом случае вам нужно будет удалить ActiveRecord из инициализации Rails, поместив эту строку в ваш config/environment.rb
в блоке Rails::Initializer.run do |config|
:
config.frameworks -= [ :active_record ]
Затем вам нужно будет загрузить всеОпределенные вещи ActiveRecord, когда у вас есть учетные данные.
В качестве альтернативы, вы можете переопределить Rails::Initialize::initialize_database
, где используется фактическое соединение с базой данных, поместив его в ваш environment.rb перед вызовом Rails::Initializer.run
:
module Rails
class Initializer
def initialize_database
nil
end
end
end
До версии 4.x вы бы использовали ActiveRecord :: Base.establish_connection , который сейчас не рекомендуется.