From d1a6c512c49c60553a7f25ff350058f9e3b05d1b Mon Sep 17 00:00:00 2001 From: nilsding Date: Mon, 12 Jan 2015 06:41:44 +0100 Subject: [PATCH] finally corrected that model thing. --- app/models/group.rb | 6 ++++++ app/models/group_member.rb | 4 ++-- app/models/user.rb | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/models/group.rb b/app/models/group.rb index 060c5b70..55af9077 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -6,7 +6,13 @@ class Group < ActiveRecord::Base self.name = self.display_name.downcase.sub(/\s+/, '-') end + alias members group_members + def add_member(user) GroupMember.create! group: self, user: user end + + def remove_member(user) + GroupMember.where(group: self, user: user).first!.destroy + end end diff --git a/app/models/group_member.rb b/app/models/group_member.rb index 3cd7913b..0163e2c0 100644 --- a/app/models/group_member.rb +++ b/app/models/group_member.rb @@ -1,4 +1,4 @@ class GroupMember < ActiveRecord::Base - has_one :user - has_one :group + belongs_to :user + belongs_to :group end diff --git a/app/models/user.rb b/app/models/user.rb index 931feb6e..9d372b3e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -26,7 +26,7 @@ class User < ActiveRecord::Base has_many :moderation_comments, dependent: :destroy has_many :moderation_votes, dependent: :destroy has_many :groups, dependent: :destroy - has_many :group_memberships, class_name: "GroupMember", dependent: :destroy + has_many :group_memberships, class_name: "GroupMember", foreign_key: 'user_id', dependent: :destroy SCREEN_NAME_REGEX = /\A[a-zA-Z0-9_]{1,16}\z/ WEBSITE_REGEX = /https?:\/\/([A-Za-z.\-]+)\/?(?:.*)/i