「acts_as_ordered_treeプラグイン」の編集履歴(バックアップ)一覧はこちら

acts_as_ordered_treeプラグイン」(2008/08/21 (木) 14:56:15) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**プラグイン名 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)

表示オプション

横に並べて表示:
変化行の前後のみ表示: