Polymorphic association question

This is an example from the geokit plugin which I am trying to
reproduce.

class Location < ActiveRecord::Base
belongs_to :locatable, :polymorphic => true
acts_as_mappable
end

class Company < ActiveRecord::Base
has_one :location, :as => :locatable # also works for belongs_to
associations
acts_as_mappable :through => :location
end

We see two separate models here. Now is there also a third model, like
some kind of join table? Also is there a locatable_id:integer and
locatable_type:string as well?

The polymorphic :locatable association implies a :locatable_type and
:locatable_id column. These columns reference a row in an arbitrary
table
identified by :locatable_type so no join table is needed.

On Feb 7, 2010 11:02 PM, “Sean S.” [email protected] wrote:

This is an example from the geokit plugin which I am trying to
reproduce.

class Location < ActiveRecord::Base
belongs_to :locatable, :polymorphic => true
acts_as_mappable
end

class Company < ActiveRecord::Base
has_one :location, :as => :locatable # also works for belongs_to
associations
acts_as_mappable :through => :location
end

We see two separate models here. Now is there also a third model, like
some kind of join table? Also is there a locatable_id:integer and
locatable_type:string as well?

Posted via http://www.ruby-forum.com/.


You received this message because you are subscribed to the Google
Groups
“Ruby on Rails: Talk” group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected][email protected]
.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.