Association reflexive n:n

Bonjour,

J’ai une gestion de thèmes : themes(id, parent_id,
section_id#,libelle) de facon à avoir une hierachie (parent_id pointe
sur la même table pour avoir une hierarchie en arbre) de theme
independante par section.

J’aimerais pouvoir modeliser par exemple que le theme id:9 de la
section_id:3 et le frère ou est liées aux thèmes 4 de la section 7 et
le thème 9 de la section 2.

Aprés quelques recherche je pense que l’on pourrait faire cela par une
association reflexive n:n le problème c’est que je sais pas comment
definir un has_and_belongs_to_many ou un has_many :through sur mon
modèle Theme.

Quelqu’un à une idée ?

Merci

Le 14/01/08, adiates[email protected] a écrit :

Aprés quelques recherche je pense que l’on pourrait faire cela par une
association reflexive n:n le problème c’est que je sais pas comment
definir un has_and_belongs_to_many ou un has_many :through sur mon
modèle Theme.

create_table :relationships do |t|
t.references :theme
t.references :related_theme

end

class Theme < AR::B
has_many :relationships
has_many :related_themes, :through => :relationships
#, :source => :theme ?
# euh, j’arrive plus à réfléchir
end

class Relationship < AR::B
belongs_to :theme
belongs_to :related_theme, :class_name => ‘Theme’,
:foreign_key => ‘related_theme_id’
end

Voilà, à tester…

-- Jean-François.

sent from my TO7-70


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

Merci je vais tester.