two belong_to to same model

I have a reservation class which has origin_city and destination_city, both of which are instance of location class. How would I represent this using belongs_to relationship. I would like something like: class Location ...   has_one reservation for origin_city   has_one reservation for destination_city

class Reservaton   belongs_to :location, :as => origin_city   belongs_to :location, :as => destination_city

Can someone correct the exact syntax for me. Thanks.

That's not quite right.

On Reservation you want

belongs_to :origin_city, :class_name => 'Location', :foreign_key => 'origin_city_id' and similarly for the other one on Location you probably want

has_many :origin_reservations, :class_name => 'Reservation', :foreign_key => origin_city_id'

I'm assuming you want has_many instead of has_one unless it's the case that a location can only be used be a single reservation

Fred