Hi,
I want to specify relationships between two classes like that expressed in the following pseudocode:
class User < ActiveRecord::Base has_many :projects end
class Project < ActiveRecord::Base
has_one :primary_record_owner, :<pseudo_option_for_referring_to>=>"User" has_many :record_owners, :<pseudo_option_for_referring_to>=>"User" has_many :users # this refers to User, too end
From the above I seek the following kind of results:
@user.projects # returns all projects associated with the user from any of the three User associations in Project @project.primary_record_owner # returns the User instance @project.record_owners # returns the collection of User instances @project.users # returns User instances, not necessarily overlapping with the other associations
The intent I mean to express is that a Project can have any of three levels of relationship with a User, while a User has only one level of association with a Project.
I was thinking HABTM, but I don't see how to get my desired '@user.projects' result from that.
Any helpful comment would be greatly appreciated.
Thanks,
Lille