2010-11-30 22 views
3
class Person 
    include Mongoid::Document 

    field :address, :type => Hash 

end 

Given a person exist with address: {:city => "city", :street => "street"} 

montre étape non définie comme:Comment faire étape de conserves au vinaigre pour le champ de type de hachage pour MongoId

Given /^a person exists with address: \{:city => "([^"]*)", :street => "([^"]*)"\}$/ do |arg1, arg2| 
    pending # express the regexp above with the code you wish you had 
end 

Comment puis-je faire étape de cornichon norme?

Répondre

1

Je ne pense pas que vous pouvez créer la personne et l'adresse en une seule étape sans créer votre propre définition d'étape (ce qui est assez facile). Vous pouvez diviser votre fonction en 2 lignes comme ceci:

Given an address exists with city: "Townsville" and street: "123 Main St." 
And a person exists with address: the address 
+0

Il semble que je ne pouvais pas expliquer clairement. En fait, j'ai besoin est comme, si l'attribut est de type Hash alors comment pourrait-il être possible d'ajouter une valeur de type Hash à l'attribut en utilisant pickle? Je pourrais ajouter une valeur de type chaîne/entier en utilisant les étapes de pickle générales comme expliqué ci-dessus. – kriysna

+0

Vous pouvez obtenir une idée claire ici https://gist.github.com/724847. – kriysna

+0

Le point entier est de savoir comment ajouter de la valeur à l'attribut si l'attribut est un hachage de type, lorsque nous testons avec pickle? – kriysna