From: "AN@..." Date: 2006-07-20T18:55:09+09:00 Subject: acts_as_tree Hello, I'm trying to create categories that have their own subcategories, and each subcategory may have its own subcategories, .. and so on. After some reading, I found out that the best way for creating such a thing is to use acts_as_tree, but I didn't find any tutorial or article that explain this in a clear way. After a lot of work I was finally able to create categories and subcategories using the following code explained in (Agile Web Development With Rails) book: ---------------------------------------------------------------- root = Category.create(:name => "Books") fiction = root.children.create(:name => "Fiction") non_fiction = root.children.create(:name => "Non Fiction") non_fiction.children.create(:name => "Computers") non_fiction.children.create(:name => "Science") non_fiction.children.create(:name => "Art History") fiction.children.create(:name => "Mystery") fiction.children.create(:name => "Romance") fiction.children.create(:name => "Science Fiction") ------------------------------------------------------------------ And here is the database scheme: ------------------------------------------------------------ create table categories ( id int not null auto_increment, name varchar(100) not null, parent_id int, constraint fk_category foreign key (parent_id) references categories(id), primary key (id) ); ------------------------------------------------------------ in the model: ------------------------------------------------------------ class Category < ActiveRecord::Base acts_as_tree :order => "name" end ------------------------------------------------------ OK, my problem now is how to view something! Any category name, or any subcategory or a list of categories, I tried a lot of things, like (in the view): --------------------------------------------------------- ---------------------------------------------------------- But I ALWAYS and whatever I try I got this error message: "You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occured while evaluating nil.each Extracted source (around line #2): <% for category in @categories %> " What do you think the problem is? If you know some tutorial that fully explain how to use acts_as_tree to add and show categories that'll be great