32 votes

Les trouveurs mongoïdes ne fonctionnent pas?

Hé tout ce que j'ai mis en place une application mongoid rails3 + et quand j'ouvre la console rails, aucun des finders ne semble fonctionner - http://d.pr/FNzC

 User.all
User.find(:all, :conditions => { first_name => "John" })
 

les deux retournent:

 #<Mongoid::Criteria
  selector: {},
  options:  {}>
 

Est-ce que je fais quelque chose de mal?

59voto

voxobscuro Points 1056

Ok, donc c'est ce qui fait de mongoid irritant pour les nouveaux arrivants. Les gens s'attendent à des méthodes comme l'Utilisateur.tout à fait de retourner un tableau lorsqu'il renvoie simplement les Critères de l'objet.

Afin de fournir le syntatic sucre de chaînage de méthodes et autres fantaisies requête mécanismes de Mongoid semble utiliser un chargement différé type de chose.

Vous pouvez le faire:

#array index
User.all[0]

#first/last
User.all.first

#each over things, print out all the users
User.all.each {|u| p u}

#edit, I forgot to include this, which is probably what you really want
#this spits out an array
User.all.to_a

Il est difficile de vérifier rapidement que les choses sont de travail pour les nouveaux arrivants de ActiveRecord où l'Utilisateur.tout juste retourne un tableau.

1voto

kriysna Points 1782

Essaye ça:

     User.all.first        
    User.find(:first, :conditions => {:first_name => 'John'})    
    User.where(:first_name => 'John').first
 

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