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