I think I understand that only belongs_to association can be polymorphic. The model that carries belongs_to gets the foreign key and :polymorphic => true. But I want to model the following: A User "has_one" vehicle, which can be either a "Car" or a "Truck", but not both (this is a requirement). My natural inclination is toward declaring it thus: class User < ActiveRecord::Base has_one :vehicle end class Vehicle < ActiveRecord::Base belongs_to :user end class Car < Vehicle attr_accessible :capacity # no. of passengers it can carry end class Truck < Vehicle attr_accessible :horse_power # 150, 200, 250 ... end My goal is to be able to have foreign key in the :cars and :trucks tables in the form of user_id and have no :vehicles table. I of course want the association methods to work the way they do in class has_one -- belongs_to combo, i.e. I should be able to do @user.vehicle to mean either nil or car or truck that user owns, @car.user to be the user owning that car etc. I think these expectations are wrong. For instance, since I declared Vehicle to be an AR model, I need to have :vehicles table. Period. But when I am modeling the abstractions, I don''t need any persistence for (abstract) Vehicle. I just need to persist either a car or a truck for a user. Thus, :users table just contains the info relevant to the user whereas the :cars and :trucks table contains car- and truck-relevant info along with a user_id foreign key. Another problem I see with my expectations is that both Car and Truck must declare belongs_to :user. Period. I am willing to do that, but my expectation is that since Car is a Vehicle, the belongs_to association should be inherited by the Car. Can someone please help me see things more clearly and work around the issues so that I can capture my relationship succinctly? Best Regards, Kedar -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.