A new project I am working on using Rails 2.3.11 introduced me to acts_as_list and acts_as_tree, so I decided to look for those for use with Rails 3.
I did a quick search and stumbled upon nested set. Its about as dead-simple as I could imagine, so I’m giving it a try.
To use it, I modified my migration to this:
class CreateAccounts < ActiveRecord::Migration
def self.up
create_table :accounts do |t|
t.string :name
t.integer :parent_id
t.string :type
t.integer :lft
t.integer :rgt
t.timestamps
end
end
def self.down
drop_table :accounts
end
end
and the model to look like this:
class Account < ActiveRecord::Base ACCOUNT_TYPES = ["Asset", "Liability", "Equity", "Revenue", "Expense"] validates_uniqueness_of :name acts_as_nested_set end
So far, so good!
