[QuickTut] Métodos estilo ActiveRecord en Mongoid #Rails


Así que decidiste usar Mongoid en tu RailsApp eh? Pues cool, es una buena combinación :) En esta ocasión pretendo esclarecer una cuestión muy interesante de Mongoid:

Se supone que Mongoid hace una transición fácil para el programador de la interfaz ActiveRecord y todo el rollo de las migraciones y así a un ambiente más flexible gracias a MongoDB y como usa ActiveModel y demás, en teoría podemos manipular la data por medio de métodos estilo ActiveRecord cuando usamos Mongoid ¿no? 

Pues sucede que muchos nos vamos con la finta y tratamos de hacer un:

User.all

Por ejemplo y esto nos resulta en un "extraño" output como el siguiente:

1.9.3-p286 :003 > u = User.all
 => #<Mongoid::Criteria
   selector: {},
   options:  {},
   class:    User,
   embedded: false>

Y entonces lo ves y te quedas con cara de "O.o Hey!! eso no es lo que venía en el folleto!" jajajajaja :P para todos aquellos a los que les haya pasado esto, les dejo acá un gist de CRUD Examples estilo ActiveRecord en Mongoid: