Man braucht dazu ein Model mit einem Datenbankfeld, welches sein eigenes Parent-Objekt speichert.
Mit den Methoden belongs_to und has_many lassen sich solche Beziehungen dann folgendermaßen darstellen:
belongs_to :parent_object,
:foreign_key => "parent",
:class_name => "Category"
has_many :children,
:foreign_key => "parent",
:class_name => "Category",
:order => "name ASC",
:dependent => :delete_all
:foreign_key => "parent",
:class_name => "Category"
has_many :children,
:foreign_key => "parent",
:class_name => "Category",
:order => "name ASC",
:dependent => :delete_all
Nun lässt sich ganz einfach mit einer Instanz der Klasse, dessen Kinder aufrufen:
@category.children
Ebenso ist es möglich das Parent-Objekt aufzurufen:
@category.parent_object
Definiert werden diese Methoden mit dem ersten Parameter der belongs_to und has_many Definitionen. Man kann diese also nach belieben benennen.
No comments:
Post a Comment