Hay una gema interesante disponible llamada Tenacity que parece hacer lo que quieres, usando t_has_one, t_has_many y t_belongs_to en lugar de las asociaciones normales.
Debido a que actualmente solo tiene esas relaciones, es un poco limitado, y actualmente estoy luchando con muchos a muchos, pero eso puede ayudarlo.
Compruébalo aquí:https://github.com/jwood/tenacity