26 lines
779 B
Plaintext
26 lines
779 B
Plaintext
|
acts_as_tree
|
||
|
============
|
||
|
|
||
|
Specify this +acts_as+ extension if you want to model a tree structure by providing a parent association and a children
|
||
|
association. This requires that you have a foreign key column, which by default is called +parent_id+.
|
||
|
|
||
|
class Category < ActiveRecord::Base
|
||
|
acts_as_tree :order => "name"
|
||
|
end
|
||
|
|
||
|
Example:
|
||
|
root
|
||
|
\_ child1
|
||
|
\_ subchild1
|
||
|
\_ subchild2
|
||
|
|
||
|
root = Category.create("name" => "root")
|
||
|
child1 = root.children.create("name" => "child1")
|
||
|
subchild1 = child1.children.create("name" => "subchild1")
|
||
|
|
||
|
root.parent # => nil
|
||
|
child1.parent # => root
|
||
|
root.children # => [child1]
|
||
|
root.children.first.children.first # => subchild1
|
||
|
|
||
|
Copyright (c) 2007 David Heinemeier Hansson, released under the MIT license
|