2010-11-14 5 views
1

Est-il:Quel est le Rails 3 Façon de faire une recherche AR de base sur un objet?

u = User.find_by_email("[email protected]") 

ou:

u = User.where(:email => "[email protected]").first 

Je crois avoir lu que les conditions sont progressivement en 3.1.

Je sais que vous voulez rester avec AREL pour récupérer plusieurs objets, car il détermine quand faire la requête (comme si vous parcouriez une collection). Mais je ne sais pas quelle est la convention pour attraper des célibataires.

Répondre

3

J'utilise les deux de façon interchangeable.

Je n'ai rien lu sur les méthodes find_by qui sont obsolètes, mais si vous craignez qu'elles le soient, utilisez la deuxième approche. Vous n'êtes que l'autre option est d'appeler last. Vous pouvez également appeler all mais cela retournera l'objet dans un tableau.

Lisez la section 1.1 Retrieving a Single Object de l'article des guides Edge Interrogation Active Record pour plus d'informations.

+0

Merci John, les guides de bord vous seront utiles. Je n'avais pas lu ceux-là. – AKWF

+0

Pas de problème. Heureux d'avoir pu aider! Assurez-vous de garder les repères de bord marqués - c'est une ressource inestimable. – John

Questions connexes