Finding results under a tree list

Hi, I have a list of items that are ordered according to their provenance. Origin is ordered under a tree, so that is displays that way:

USA > LA > Los Angeles

Right now, i have two classes and a join table items_origins.

class Origin < ActiveRecord::Base     has_and_belongs_to_many :items      acts_as_tree :order=>"name" end

class Item < ActiveRecord::Base     has_and_belongs_to_many :origins end

I feel like it is unneeded to have a join_table here, and has_many origins doesn't seem logic.

Can anyone tell me if i am doing this correctly?

would you then recommend the use of Gratr and acts_as_dag ?