From Solomon White:
Basically, the scenario is a many-to-many relationship implemementation of a
graph, in which a node can have multiple "parent" nodes and multiple "child"
nodes. The idea would be to have a navigational category structure, but be
able to "clone" a category just by placing it under an additional "parent"
node.
If you use finder_sql for the ActiveRecord has_and_belongs_to_many
association, it appears that it's evaluated once, and then cached, so trying
to walk up the hierarchy tree puts you into an infinite loop, because it's
not re-evaluating the finder sql to find parents of the parent node...the
parent node's .parents method returns the same set of parents as the initial
node did...