Thanks Matt and Colin.
On May 14, 8:46 am, Matt Jones <[email protected]> wrote: > On May 14, 1:50 am, badnaam <[email protected]> wrote: > > > > > I have two models Club and users. users are regular authenticated > > users and some of them might create a club. A club can also have > > members (essentially users) and there are attributes and models that > > apply to member but not to users. > > > Here is what I have right now. > > > Club => belongs_to :user > > > User => has_many clubs (since a user can host multiple clubs). > > > Now how do I fit this member model into the picture, a club can have > > many member, but since a club only has one user(the user who owns the > > club), I can't really do a Club => has_many :users. do i need to > > create a different model named ClubOwner for users who host clubs or > > is there a better way to do this. > > Assuming that a User can belong to many Clubs, you'll need a join > table between the two: > > class User < AR::Base > has_many :owned_clubs, :foreign_key => 'owner_id', :class_name => > 'Club' > has_many :club_memberships, :dependent => :destroy > has_many :clubs, :through => :club_memberships > end > > class ClubMembership < AR::Base > belongs_to :user > belongs_to :club > end > > class Club < AR::Base > has_many :club_memberships, :dependent => :destroy > has_many :users, :through => :club_memberships > belongs_to :owner, :class_name => 'User' > end > > You'll need to move your existing 'user_id' column on Club to > 'owner_id'. > > Hope this helps! > > --Matt Jones > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group > athttp://groups.google.com/group/rubyonrails-talk?hl=en. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

