Stephen Gerstacker
2006-Jan-04 23:03 UTC
[Rails] Multiple Associations With The Same Object
I have a Company object which has multiple Contacts
(has_many/belongs_to) I would like one of the contacts to be the
primary contact. What''s the best way to do this? Right now I have:
create table companies (
id int not null auto_increment,
name varchar(50) not null,
primary_id int null,
constraint fk_company_primary_contact foreign key (primary_id)
references contacts(id),
primary key (id)
);
create table contacts (
id int not null auto_increment,
name varchar(100) not null,
company_id int not null,
primary key (id)
);
class Company < ActiveRecord::Base
has_many :contacts
has_one :primary_contact,
:class_name => ''Contact''
...
end
class
class Contact < ActiveRecord::Base
belongs_to :company
...
end
Can someone help me?
--
Posted via http://www.ruby-forum.com/.
I''ve not tried it, but I''d think you could do something like this: class Company < ActiveRecord::Base has_many :contacts has_one :primary_contact ... end class Contact < ActiveRecord::Base belongs_to :company ... end class PrimaryContact < Contact end Although you may have to add a "where clause" to the PrimaryContact class to define how to identify the primary contact.