Did I model this right?

I’m trying to build a little Secret Santa application. A User can join
various Secret Santa Groups. In the Group, the User can post
suggestions for other members of that group. In the Group, the User
can also specify a Relation (someone they don’t want to be assigned to
be a Secret Santa for)

Here’s what I’ve got so far:

class User < ActiveRecord::Base
has_many :memberships
has_many :groups, :through => :memberships
end

class Group < ActiveRecord::Base
has_many :memberships
has_many :users, :through => :memberships
end

class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :group
has_many :suggestions
has_and_belongs_to_many :relations,
:class_name => “Membership”,
:join_table => “relations_memberships”,
:association_foreign_key => “relation_id”,
:foreign_key => “membership_id”
end

class Suggestion < ActiveRecord::Base
belongs_to :membership
end

Am I approaching this correctly?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs