Un truc aussi basique ce serait beaucoup mieux de le faire faire à la base
de données, rapport aux performances ; un where pourrait sans doute suffire,
ça dépend si tu veux être complètement sql agnostique.

Michel Belleville


2009/9/4 Alexis Bernard <[email protected]>

> Ça prend 1 ligne avec la méthode inject :-)
>
> cat.articles.inject([]) { |articles, article| article.text.size > 1000 ?
> articles << article : articles }
>
> Par contre pour ce besoin spécifique je regarderai du côté du SGBDR s'il ne
> peut pas filtrer avec un where la longueur des articles. Un named scope
> simple et écrire et plus de perfs :-)
>
> Le 4 septembre 2009 19:47, Antoine CRESSON <[email protected]> a
> écrit :
>
>
>> Par exemple on a une catégorie avec un certains nombre d'articles
>> j'aimerais pouvoir trouver tous les articles dont la longueur dépasse
>> 1000 caractères (le traitement se fera en ruby pour trouver les
>> articles correspondants) j'aimerais pouvoir avoir accès à ces articles
>> de la manière suivante :
>>
>> cat = Category.first
>> cat.articles.more_than_1000_chars
>>
>> On 4 sep, 19:38, Alexis Bernard <[email protected]> wrote:
>> > Salut,
>> >
>> > Donne nous un exemple précis. Sinon toutes les méthodes d'Enumerable
>> > devraient convenir à la plupart des besoins.
>> >
>> > Le 4 septembre 2009 16:42, Antoine CRESSON <[email protected]>
>> a
>> > écrit :
>> >
>> >
>> >
>> >
>> >
>> > > Bonjour,
>> >
>> > > Soit le modèle suivant :
>> >
>> > > class FirstModel < ActiveRecord::Base
>> > >  belongs_to :second_model
>> > > end
>> >
>> > > class SecondModel < ActiveRecord::Base
>> > >  has_many :first_models
>> > > end
>> >
>> > > m = SecondModel.first
>> >
>> > > j'aimerais ajouter des méthodes spécifiques pour manipuler (effectuer
>> > > des traitement en ruby) la collection (Array) m.first_models.
>> >
>> > > Ma première solution a été d'ajouter des méthodes à la classe Array
>> > > mais le soucis c'est que pour chaque tableau ces méthodes sont
>> > > disponibles.
>> >
>> > > J'ai vu qu'on pouvait peut être utiliser le pattern Proxy mais je ne
>> > > vois vraiment pas comment faire.
>> >
>> > > Si quelqu'un peut m'aider.
>> >
>> > > Merci
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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 à