「acts_as_ordered_treeプラグイン」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
**プラグイン名
acts_as_ordered_treeプラグイン
**このプラグインができること
+順序を保ったまま1テーブル内でツリー構造上のデータを表現できる
+acts_as_treeに順序制御が入ったもの
+acts_as_listとacts_as_treeが合体した感じ
+純粋なリストじゃなければ、これだけでいいかも
**ちょー簡単な使い方
>./script/plugin install svn://rubyforge.org/var/svn/ordered-tree/acts_as_ordered_tree
でインストールして、
> class CreatePeople < ActiveRecord::Migration
> def self.up
> create_table :people do |t|
> t.column :parent_id ,:integer ,:null => false ,:default => 0
> t.column :position ,:integer
> end
> add_index(:people, :parent_id)
> end
> end
みたいにマイグレーションしてからモデルに、
> class Person < ActiveRecord::Base
> acts_as_ordered_tree :foreign_key => :parent_id,
> :order => :position
> belongs_to :parent,
> :class_name => Person,
> :foreign_key => :parent_id
> has_many :children,
> :class_name => Person,
> :foreign_key => :parent_id,
> :order => :position
> end
としておくと、こんなことができる。
> v.1.2
> +----+-----------+----------+---------+
> node_1 | id | parent_id | position | name |
> \_ node_2 +----+-----------+----------+---------+
> \_ node_3 | 1 | 0 | 1 | Node_1 |
> | \_ node_4 | 2 | 1 | 1 | Node_2 |
> | \_ node_5 | 3 | 1 | 2 | Node_3 |
> | | \_ node_8 | 4 | 3 | 1 | Node_4 |
> | | \_ node_9 | 5 | 3 | 2 | Node_5 |
> | \_ node_10 | 6 | 1 | 3 | Node_6 |
> | \_ node_11 | 7 | 1 | 4 | Node_7 |
> \_ node_6 | 8 | 5 | 1 | Node_8 |
> \_ node_7 | 9 | 5 | 2 | Node_9 |
> | | 10 | 3 | 3 | Node_10 |
> | | 11 | 3 | 4 | Node_11 |
> node_12 | 12 | 0 | 2 | Node_12 |
> \_ node_13 | 13 | 12 | 1 | Node_13 |
> \_ node_14 | 14 | 12 | 2 | Node_14 |
> | \_ node_15 | 15 | 14 | 1 | Node_15 |
> | \_ node_16 | 16 | 14 | 2 | Node_16 |
> | | \_ node_19 | 17 | 12 | 3 | Node_17 |
> | | \_ node_20 | 18 | 12 | 4 | Node_18 |
> | \_ node_21 | 19 | 16 | 1 | Node_19 |
> | \_ node_22 | 20 | 16 | 2 | Node_20 |
> \_ node_17 | 21 | 14 | 3 | Node_21 |
> \_ node_18 | 22 | 14 | 4 | Node_22 |
> +----+-----------+----------+---------+
どういうメソッドがあるかは[[本家>>http://ordered-tree.rubyforge.org/]]を見ること。
**公式ページ
-[[公式>>http://ordered-tree.rubyforge.org/]]
**日本語解説ページ
-見つからない
**外国語解説ページ
-あるかもしれないけど、本家でよくね?
**のうはう
-マイグレーションファイルの構造
#image(http://farm4.static.flickr.com/3033/2782329325_b0c7cee9b5.jpg?v=0)
[[WWW SQL Designer>http://www13.atwiki.jp/maimuzo?cmd=upload&act=open&pageid=47&file=acts_as_ordered_tree.xml]]
**コメント
#pcomment(reply)
**プラグイン名
acts_as_ordered_treeプラグイン
**このプラグインができること
+順序を保ったまま1テーブル内でツリー構造上のデータを表現できる
+acts_as_treeに順序制御が入ったもの
+acts_as_listとacts_as_treeが合体した感じ
+純粋なリストじゃなければ、これだけでいいかも
**ちょー簡単な使い方
>./script/plugin install svn://rubyforge.org/var/svn/ordered-tree/acts_as_ordered_tree
でインストールして、
> class CreatePeople < ActiveRecord::Migration
> def self.up
> create_table :people do |t|
> t.column :parent_id ,:integer ,:null => false ,:default => 0
> t.column :position ,:integer
> t.column :name ,:string
> end
> add_index(:people, :parent_id)
> end
> end
みたいにマイグレーションしてからモデルに、
> class Person < ActiveRecord::Base
> acts_as_ordered_tree :foreign_key => :parent_id,
> :order => :position
> belongs_to :parent,
> :class_name => Person,
> :foreign_key => :parent_id
> has_many :children,
> :class_name => Person,
> :foreign_key => :parent_id,
> :order => :position
> end
としておくと、こんなことができる。
> v.1.2
> +----+-----------+----------+---------+
> node_1 | id | parent_id | position | name |
> \_ node_2 +----+-----------+----------+---------+
> \_ node_3 | 1 | 0 | 1 | Node_1 |
> | \_ node_4 | 2 | 1 | 1 | Node_2 |
> | \_ node_5 | 3 | 1 | 2 | Node_3 |
> | | \_ node_8 | 4 | 3 | 1 | Node_4 |
> | | \_ node_9 | 5 | 3 | 2 | Node_5 |
> | \_ node_10 | 6 | 1 | 3 | Node_6 |
> | \_ node_11 | 7 | 1 | 4 | Node_7 |
> \_ node_6 | 8 | 5 | 1 | Node_8 |
> \_ node_7 | 9 | 5 | 2 | Node_9 |
> | | 10 | 3 | 3 | Node_10 |
> | | 11 | 3 | 4 | Node_11 |
> node_12 | 12 | 0 | 2 | Node_12 |
> \_ node_13 | 13 | 12 | 1 | Node_13 |
> \_ node_14 | 14 | 12 | 2 | Node_14 |
> | \_ node_15 | 15 | 14 | 1 | Node_15 |
> | \_ node_16 | 16 | 14 | 2 | Node_16 |
> | | \_ node_19 | 17 | 12 | 3 | Node_17 |
> | | \_ node_20 | 18 | 12 | 4 | Node_18 |
> | \_ node_21 | 19 | 16 | 1 | Node_19 |
> | \_ node_22 | 20 | 16 | 2 | Node_20 |
> \_ node_17 | 21 | 14 | 3 | Node_21 |
> \_ node_18 | 22 | 14 | 4 | Node_22 |
> +----+-----------+----------+---------+
どういうメソッドがあるかは[[本家>>http://ordered-tree.rubyforge.org/]]を見ること。
**公式ページ
-[[公式>>http://ordered-tree.rubyforge.org/]]
**日本語解説ページ
-見つからない
**外国語解説ページ
-あるかもしれないけど、本家でよくね?
**のうはう
-マイグレーションファイルの構造
#image(http://farm4.static.flickr.com/3033/2782329325_b0c7cee9b5.jpg?v=0)
[[WWW SQL Designer>http://www13.atwiki.jp/maimuzo?cmd=upload&act=open&pageid=47&file=acts_as_ordered_tree.xml]]
**コメント
#pcomment(reply)