J'utilise mongoid pour la première fois et j'ai un problème pour créer une association has_many dans une usine pour mes spécifications.Mongoid has_many association et factorygirl
Le scénario est le suivant:
J'ai la classe de groupe:
class Group
include Mongoid::Document
field :name, :type => String
end
Et j'ai une classe d'exercice. Un exercice peut appartenir à plusieurs groupes. La classe d'exercices est actuellement définie comme ceci:
class Exercise
include Mongoid::Document
field :name, :type => String
field :description, :type => String
has_many :groups
validates_presence_of :name, :description
end
Je veux utiliser factorygirl pour créer des instances pour les spécifications. Je me bats avec la façon de le faire.
Actuellement, mon usine d'exercice ressemble à ceci;
FactoryGirl.define do
factory :exercise do
name "Preacher curls"
description "Do something"
after(:build) do |exercise|
exercise.groups << FactoryGirl.build(:group)
end
end
end
Cela provoque l'erreur suivante:
NoMethodError: undefined method `=' for #<Group _id: 4fbc6f5a26a3181742000004, _type: nil, name: "Arms">
Comment puis-je créer l'usine d'exercice correctement pour ajouter les group_ids?