Merci pour vos contributions, effectivement l'utilisation de
named_scope semble être une bonne solution.

On 4 sep, 21:03, Nicolas Blanco <[email protected]> wrote:
> class Article < ActiveRecord::Base  named_scope :longest, :conditions =>
> "length(size) > 1000"
> end
>
> ma_category.articles.longest
>
> Paf !
> Nicolas.
>
> Le 4 septembre 2009 20:30, Michel Belleville <[email protected]> a
> écrit :
>
>
>
> > 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 à