J'utilise MongoId dans mon application Rails, considérez que j'ai les champs ci-dessous dans une classe nommée « Post » avec en dessous de la structureComment charger les usines pour les modèles embarqués (MongoId - Rails)
class UserPost
include Mongoid::Document
field :post, type: String
field :user_id, type: Moped::BSON::ObjectId
embeds_many :comment, :class_name => "Comment"
validates_presence_of :post, :user_id
end
-
class Comment
include Mongoid::Document
field :commented_user_id, type: Moped::BSON::ObjectId
field :comment, type: String
embedded_in :user_post, :class_name => "UserPost"
end
Ce modèle fonctionne parfaitement lors de l'insertion de valeurs.
Mais maintenant je travaille sur l'écriture de test pour ce modèle, j'utilise Factory girl pour charger les données de test. Je suis confus avec la façon dont je peux tracer des champs de modèle pour "UserPost" modèle sous /spec/factories/user_posts.rb
.
J'ai essayé avec le format ci-dessous, mais sa ne fonctionne pas (seulement certains champs sont ajoutés par exemple)
FactoryGirl.define do
factory :user_post do
id Moped::BSON::ObjectId("50ffd609253ff1bfb2000002")
post "Good day..!!"
user_id Moped::BSON::ObjectId("50ffd609253ff1bfb2000002")
comment :comment
end
factory :comment do
id Moped::BSON::ObjectId("50ffd609253ff1bfb2000002")
end
end
Pourquoi inscrivez-vous des identifiants? – apneadiving
son par exemple .. comment devrais-je définir l'usine sans codage en dur? – balanv