Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on May 4, 2009
  1. Murray Steele Jeremy Kemper

    Providing support for :inverse_of as an option to associations.

    h-lame authored jeremy committed
    You can now add an :inverse_of option to has_one, has_many and belongs_to associations.  This is best described with an example:
    
    class Man < ActiveRecord::Base
      has_one :face, :inverse_of => :man
    end
    
    class Face < ActiveRecord::Base
      belongs_to :man, :inverse_of => :face
    end
    
    m = Man.first
    f = m.face
    
    Without :inverse_of m and f.man would be different instances of the same object (f.man being pulled from the database again).  With these new :inverse_of options m and f.man are the same in memory instance.
    
    Currently :inverse_of supports has_one and has_many (but not the :through variants) associations.  It also supplies inverse support for belongs_to associations where the inverse is a has_one and it's not a polymorphic.
    
    Signed-off-by: Murray Steele <muz@h-lame.com>
    Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
Something went wrong with that request. Please try again.