Вы в значительной степени прибили это сами. Мой предпочтительный способ сделать это - использовать метод в инициализаторе или классе в каталоге lib, который инициализирует переменную класса, когда она еще не установлена.
Ниже предполагается, что вы используете стандартный драйвер Ruby. Я вставил его в модуль, но вам не нужно действительно делать это. Я также выбираю базу данных, которую хочу использовать, поскольку я склонен использовать одну базу данных для каждого приложения.
# config/initializers/mongodb_connection.rb
module CachedMongoDBConnection
def mongodb_connection
@@cached_mongodb_connection ||= Mongo::Connection.new.db('my_database_name')
end
end
include CachedMongoDBConnection
Теперь в ваших контроллерах / моделях и т. Д. Вы можете вызывать метод mongodb_connection
и работать с ним.