This is a very straightforward problem.. -I included a mixin in lib/ (see below) -In environment.rb, I included the require statement (require ''acts_as_tree_additions'') -Defined a method in the model: def category_list format_as_list #method in acts_as_tree_additions end -Called that method in the view.. I know the method is in the correct use, because it prints out a string if I replace ''format_as_list'' with a string in category_list. However, it''s not working as expected for the mixin. Another thing is that this is a shared server, and does not need a restart of the server (which couldn''t be done either way with their port blocking). ''require'' code works for file_column without a restart, but not this.. Am I doing something wrong? --Thanks in advance, flamesrock (by the way.. for some reason, I login successfully, but my session doesn''t work.. so I''m posting as a guest) ## acts_as_tree_additions.rb ##credited to argv[] in #rubyonrails ## module ActiveRecord::Acts::Tree::ClassMethods @@TreeListView_tree = nil def Object.format_as_list(options = {}, pid = nil, level = 0, &block) @@TreeListView_tree ||= self.find(:all, options) t = Array.new return t if @@TreeListView_tree.nil? list = @@TreeListView_tree.find_all { |e| e.parent_id == pid }.sort! list.each do |e| array_of_e = (block.nil? ? e : yield(e, level)) t.size == 0 ? t = [array_of_e] : t << array_of_e t += format_as_list(options, e.id, level + 1, &block) end t end def Object.traverse_tree(options = {}, pid = nil, level = 0, &block) @@TreeListView_tree ||= self.find(:all, options) list = @@TreeListView_tree.find_all { |e| e.parent_id == pid }.sort! list.each do |e| yield(e, level) traverse_tree(options, e.id, level + 1, &block) end end def Object.format_as_select_options(display_field = :name, value_field = :id) format_as_list do |e, level| ["-" * level + " " + (e[display_field] || ""), e[value_field]] end end end -- Posted via http://www.ruby-forum.com/.