Ahoy!
Do you like patches? Well, it’s your lucky day - 'cause there’s one here!:
http://dev.rubyonrails.org/ticket/9913
The patch would allow aliasing tables so you could do something like this (contrived example - the logic probably doesn’t work quite right):