2 votes

Comment enregistrer en cascade une relation has_and_belongs_to_many avec Mongoid?

J'ai une classe Tag et une classe Question.

class Question
  include Mongoid::Document
  include Mongoid::Timestamps
  identity type: String
  has_and_belongs_to_many :tags # Référence à tag_ids
end

class Tag
  include Mongoid::Document
  identity type: String    
  has_and_belongs_to_many :questions
end

Cependant, les tags ne sont pas enregistrés lorsque je fais ce qui suit :

t = Tag.new(id: "politics")
q = Question.new({tags: [t]})
q.save!

Cependant, les tags sont créés lorsque je fais ceci :

Question.create!({tags: [Tag.new(id: "politics")]})

1voto

Kamilski81 Points 2574

Si je fais ce qui suit, alors cela fonctionnera correctement :

has_and_belongs_to_many :tags, autosave: true # Se référer à tag_ids

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X