I am guessing I will need to change the routes like..

map.resources :users, has_many => :owned_clubs?



On May 14, 7:06 pm, badnaam <[email protected]> wrote:
> 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 
> 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.

Reply via email to