/ / Comment créer deux relations dans un même document: ruby, mongodb, associations, mongodb-query, mongomapper

Comment créer deux relations dans un même document - ruby, mongodb, associations, mongodb-query, mongomapper

J'utilise mongomapper et je sauvegarde l'association en utilisant la méthode suivante:

class Task
include MongoMapper::Document
key :user_id, ObjectId #also works without this line

belongs_to :user

def self.add(user)
a = self.new
a.user_id = user
a.save
end

Et dans le modèle de l'utilisateur, j'ai ajouté: plusieurs tâches:

Maintenant, je voudrais enregistrer deux utilisateurs (dans le formulaire html, je sélectionne 2 utilisateurs de la collection Users), sans utiliser le tableau, je souhaite les enregistrer séparément:

class Task
include MongoMapper::Document
key :from_user_id, ObjectId # user1 links to the Users model
key :to_user_id, ObjectId # user2 links to the Users model

Comment je fais ça?

Réponses:

1 pour la réponse № 1

MongoMapper a des options similaires à celles d’ActiveRecord en ce qui concerne la spécification de clés et de noms de classes. Tu ferais quelque chose comme:

class Task
include MongoMapper::Document
key :to_user_id, ObjectId
key :from_user_id, ObjectId
belongs_to :from_user, class_name: "User", foreign_key: :from_user_id
belongs_to :to_user, class_name: "User", foreign_key: :to_user_id
end