La méthode "size" sur une relation du type has_many est pratique dans le cas où la relation possède un counter_cache (elle lira le counter_cache). Tandis que la méthode "count" exécutera une requête SQL COUNT même en présence d'un counter_cache.
Nicolas 2011/4/1 [email protected] <[email protected]>: > Je n'en suis pas sûr. Et je ne suis pas sûr que ça soit vrai pour toutes les > versions de ActiveRecord. > > .size peut très bien retourner la taille du tableau de relations > .count envoie une requête COUNT SQL > > ++ > > yk > > Le 1 avril 2011 18:39, Greg <[email protected]> a écrit : >> >> Salut, >> C'est exactement la même chose en fait. >> >> On Apr 1, 6:38 pm, Laurent Kretz <[email protected]> wrote: >> > Merci les gars vous êtes au top :) >> > >> > @ Greg, Fuse, >> > >> > Quelle est l'avantage/l'inconvénient de ces deux méthodes ? >> > >> > Fuse => <%= pluralize(@user.followers.count, "follower") if >> > @user.followers.any? %> >> > >> > Greg => <%= pluralize(@user.followers.size, "follower") >> > unles @user.followers.zero? %> >> > >> > >> > >> > >> > >> > >> > >> > On Friday, April 1, 2011 6:30:10 PM UTC+2, Greg wrote: >> > >> > > <%= pluralize(@user.followers.size, "follower") unless >> > > @user.followers.zero? %> >> >> -- >> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de >> Google Groups. >> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse >> [email protected] >> Pour résilier votre abonnement envoyez un e-mail à l'adresse >> [email protected] > > -- > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de > Google Groups. > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] -- Nicolas Blanco, Web developper http://www.nicolasblanco.fr Jabber/GoogleTalk : [email protected] Twitter : http://twitter.com/slainer68 Github : http://github.com/slainer68 Skype : slainer68 -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected]
