I was trying to find the best way around that has_one :through doesn’t
exist when I realized that, at least for some cases, it does. It’s just
class Owner < ActiveRecord::Base
has_many :pages, :through => :books
class Book < ActiveRecord::Base
class Page < ActiveRecord::Base
delegate :owner, :to => :book
This way you can get owner.pages and page.owner.