Been googling trying to understand belongs_to, has_one, etc
For this scenario: ‘A Person has a single favorite color and has
multiple addresses. (Colors are reused across all the persons,
addresses are always unique only for one person)’
Would the following suffice? (not worrying about adding indexes yet.)
class Person < ActiveRecord::Base
belongs_to :favorite_color, :class_name => “Color”, :foreign_key =>
“color_id”
has_many :addresses, :dependent => :destroy
end
class Address < ActiveRecord::Base
belongs_to :product
end
class Color < ActiveRecord::Base
#don’t need anything
end
The toughest thing conceptually to get a handle on was “belongs_to” on
something like Color. From an OO perspective a Person “has_one” Color,
but from reading the docs I see that belongs_to puts the foreign key
on that table in the class where you declare belongs_to so in the
above it belongs on Person. (From an OO perspective the Address
‘belongs_to’ a Person makes sense.)