Le tableau est un modèle MongoId qui doit dinamically carte à différentes bases de données/tablesquel est l'équivalent de ActiveRecord # establish_connection dans Mongoid?
# app/models/table.rb
class Table
include Mongoid::Document
end
# in app/controllers/some_controller.rb
def index
Table.connection.database = :other_database # <- How to do this ???
Table.table_name = params[:id] # <- How to do this ???
@records = Table.all
end
Je veux la classe Table à:
- être configuré par demande de différentes bases de données (sur le même serveur MongoDB connexion) en fonction de l'utilisateur actuellement connecté dans
- même pour le nom de table
EDIT
Je sais sur:
Mongoid.configure do |config|
name = "control_development"
host = "localhost"
config.master = Mongo::Connection.new.db(name)
config.slaves = [
Mongo::Connection.new(host, 27018, :slave_ok => true).db(name)
]
config.persist_in_safe_mode = false
end
MAIS, ça marche pour certains modèles (?):
# like this i mean
class User
include Mongoid::Document
configure do |config| # configure only this model's connection
name = "other_control_development"
host = "localhost"
config.master = Mongo::Connection.new.db(name)
config.slaves = [
Mongo::Connection.new(host, 27018, :slave_ok => true).db(name)
]
config.persist_in_safe_mode = false
end
end
Malheureusement, le fichier que vous avez lié n'existe plus, ce qui invalide quelque peu ce commentaire. : / – masukomi