Je comprends. Cela dit c'est la philosophie du STI...

Du coup je n'ai pas d'autres idées, dsl !

--  
Nima Izadi


On Wednesday, January 30, 2013 at 9:28 AM, oto iashvili wrote:

> merci pour l'article. malheureusement cela ne fonctionne pas pour moi, car 
> dans ton exemple, il n'y a qu'une seule table pour tes 3 classes. moi je ne 
> peux pas faire cela, car ca voudrait dire que l'on aurait un champs nombre de 
> pieces pour une annonce de voiture. Jai 80 categories, avec des champs 
> different pour chacune. Imagine le nombre de champs que ce ferait pour ma 
> table "annonce"
>   
>  
> Le mardi 29 janvier 2013 10:20:28 UTC+1, Nima Izadi a écrit :
> > J'ai écris un article sur le STI si ça peut aider : 
> > http://ontherailsagain.com/articles/single-table-inheritance ;)
> >  
> > --  
> > Nima Izadi
> > Sent with Sparrow (http://www.sparrowmailapp.com/?sig)
> >  
> >  
> > On Tuesday, January 29, 2013 at 10:18 AM, Sylvain Abélard wrote:
> >  
> > > > Jai aussi pensé a une class AdDetails, et AdRealEstateDetail qui 
> > > > hériterait delle, mais ce n'est pas possible avec les rails que toutes 
> > > > les sous-classes se partageront la même table
> > >  
> > > Et bien en fait si c'est possible avec la STI, Single-Table Inheritance.
> > > Ce serait plutôt AdRealEstate < Ad par contre.
> > >  
> > > Je t'avoue que ça fait un sacré bout de temps que je ne me suis pas 
> > > penché là-dessus...
> > > Alors du coup je n'ai pas mieux à t'offrir que ça :/
> > > http://www.google.com/search?q=rails+3+sti
> > >  
> > > > Quelqu'un at-il une solution pour ce genre de problème?
> > >  
> > >  
> > > > donc j'ai pensé au polymorphisme, mais polymorphisme signifie aussi que 
> > > > je dois ajouter une référence à ma table "ads" vers les tables détail, 
> > > > et supprimer ad_id des tables detail, ce que je pense est un non-sens 
> > > > car certaines annonces peuvent ne pas avoir de détails, mais les 
> > > > détails sont des non-sens sans leur annonce.
> > >   
> > >  
> > > Ben, sans vouloir être méchant ou faire de l'argument d'autorité...
> > > Malgré ce qu'on veut faire croire, le monde du code et de l'Orienté Objet 
> > > est différent du monde de la BDD et des Entités Relations (ne vous 
> > > méprenez pas, je trouve ça super qu'on fasse un ActiveRecord qui 
> > > simplifie les correspondances).
> > >  
> > > Et là encore, tu découvriras des mondes totalement différents si tu as la 
> > > chance de bosser avec un DBA senior, un expert en perf BDD, un 
> > > tuneur-fou... ou de nombreuses personnes sur cette liste qui sont fans du 
> > > NoSQL (plus personne parle de schemaless, c'est passé de mode ?). Le 
> > > "non-sens" s'efface alors devant des astuces parfois surprenantes mais 
> > > redoutablement efficaces :)
> > >  
> > > Dans le monde de l'OO, par contre, il suffit de réunir une poignée de 
> > > développeurs pour avoir autant de définitions différentes de 
> > > polymorphisme. Parlons plutôt d'héritage, sur ce coup-là. Et encore :)
> > >  
> > > Bon courage et à plus,  
> > >  
> > > --  
> > > --  
> > > 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] (javascript:)
> > > Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> > > [email protected] (javascript:)
> > > ---  
> > > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
> > > Railsfrance.
> > > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
> > > concernant, envoyez un e-mail à l'adresse [email protected] 
> > > (javascript:).
> > > Pour plus d'options, visitez le site 
> > > https://groups.google.com/groups/opt_out .
> > >   
> > >   
> >  
> --  
> --  
> 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] (mailto:[email protected])
> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> [email protected] 
> (mailto:[email protected])
> ---  
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
> Railsfrance.
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
> concernant, envoyez un e-mail à l'adresse 
> [email protected] 
> (mailto:[email protected]).
> Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out 
> .
>   
>   

-- 
-- 
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 recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .


Répondre à