Menu structure with multiple parents?


my current menu is based on acts_as_tree which worked just fine so far
but now I need some menu items being shown under more than one parent.


I thought about a habtm on the menu model but don't think that's a good
idea. Does anyone know a proper solution to this?

What do you guys think of:
has_and_belongs_to_many :parents, :class_name => "Menu",
:association_foreign_key => "parent_id", :join_table => "menus_parents"

I think it's astoundingly bad UI to have identical options in more
than one place - but that's just my opinion.

Unless your Menu model is exceptionally complicated, is it *really*
worth the significant boost in both code and SQL complexity just to
support this (hopefully uncommon) edge case? DRY is great, but there's
a point of diminishing (if not negative) returns...

As to the technical side of the question, you'd want to use a real
join model (with has_many :through). How else could you keep track of
the position of the repeated items in each of the parent menus?

--Matt Jones