Occasionally you need to create a
has_many relationship that is limited to just two or more child instances.
For example; we want users to supply their home and work addresses. We can achieve this by naming our associations and supplying class names.
class User has_one :home_address, class_name: 'Address', foreign_key: 'home_address_id' has_one :work_address, class_name: 'Address', foreign_key: 'work_address_id' end
An alternative use case could be; we want Groups to contain a maximum of 4 Friends
class Group has_many :friends validates_length_of :friends, maximum: 4 end