Wines.find(:all).group_by(&: region_id).each do |region_id,
region_wines| region_wines.group_by(&:color).each
do |color, color_wines|
  etc, etc
 end
end

c'est pas très propre mais ça a le mérite de marché rapidement.

mais il y a d'autre solution, en partant de région tu peux retrouver les
couleurs de tout tes vins et toutes les appellations, avec has_many :
 through
2008/12/2 Julien Castelain <[EMAIL PROTECTED]>

> Merci pour la réponse,
> Malheureusement je ne comprends toujours pas comment faire
>
>
>
> 2008/12/2 guillaume belleguic <[EMAIL PROTECTED]>
>
> bonjour,
>> tu part de wines et tu groupes les enregistrements trouvé suivant :
>> region_id
>> ensuite tu regroupe les tableaux résultant suivant couleur
>> ensuite tu regroupe les tableaux résultant appelation_id
>>
>> group_by sur les tableaux pour êtres fainéant mais
>> pas forcement peformant...
>>
>> Après ça doit être possible en sql pure.
>>
>> On Tue, Dec 2, 2008 at 12:10 PM, Julien Castelain <[EMAIL PROTECTED]>wrote:
>>
>>> Bonjour à tous,
>>>
>>> Je vais tenter de vous exposer mon problème en essayant d'etre clair, en
>>> gros je n'arrive pas à "lier" certaines tables,
>>>
>>> J'ai une table "wines" qui ressemble à ceci :
>>>
>>> wines
>>>   -- id
>>>   -- name
>>>   -- color
>>>   -- region_id
>>>   -- appellation_id
>>>
>>> exemple (1, "Mon vin", "Rouge", 1, 1)
>>>
>>> J'ai egalement les tables regions et appellations qui ressemblent elles à
>>> ceci :
>>>
>>> region
>>>   -- id
>>>   -- name
>>>
>>> exemple (1, "Bordeaux")
>>>
>>> appellation
>>>   -- id
>>>   -- bale
>>>
>>> exemple (1, "Chateau du slip")
>>>
>>> Voici ce que je souhaite faire (enfin mon client pas moi)
>>>
>>> Afficher
>>>
>>> - Region
>>>   -- Couleur
>>>     --- Appellation
>>>       ---- Nom du vin
>>>
>>> Vu la structure de mes tables, je ne vois pas comment cela est possible
>>> mais si vous aviez un exemple ou un tuto pour ce genre de truc, je vous en
>>> serez reconnaissant,
>>>
>>> Merci d'avance
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>
> >
>

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