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]

Répondre à