Self referential many to many join?

I am trying to create active record schema that includes self
referential many to many.

Example.

I have models Group and Person. Person can belong to multiple groups and
that isn’t the problem here. Problem is that I want groups to be able to
have both groups as well as people as members. And groups can be
subgroups in several parent groups at the same time (so if I understood
correctly ActsAsTree won’t work in this situation)

I tried to do it with has_many, :through as well as with :polymorphic.
But wasn’t succesfull. So my question is that is this at all possible or
should I look for workaround to this problem?

Code can be found from pastebin: http://pastebin.com/f1fc609d3

All suggestions appreciated.

I am trying to create active record schema that includes self
referential many to many.

Example.

I have models Group and Person.

It would be worth your while to check out the schema used in OpenACS
(http://openacs.org/)

Thanks for that.

I found a way to achieve this from this blogpost:
http://blog.hasmanythrough.com/2007/10/30/self-referential-has-many-through