1
我正在構建一個帶有用戶和組的ROR應用程序,我希望能夠將它們與一個稱爲會員資格的關聯模型鏈接起來。如何關聯模型?
我的問題是,當我嘗試創建一個成員組時,新組的members
數組始終爲空。
我嘗試創建了一批這樣的:
def create (user)
@group = Group.new(create_group_params)
user.join(@group)
user.save
@group.save
end
但@group.members
是空的,當我把它打印出來。我如何讓用戶成爲該組的成員?
這裏是我的模型:
Group.rb
class Group < ActiveRecord::Base
has_many :passive_memberships, class_name: "Membership",
foreign_key: "club_id",
dependent: :destroy
has_many :members, through: :passive_memberships, source: :member
end
User.rb
class User < ActiveRecord::Base
has_many :active_memberships, class_name: "Membership",
foreign_key: "member_id",
dependent: :destroy
has_many :memberships, through: :active_memberships, source: :club
def join(group)
active_memberships.create(club_id: group.id)
end
end
Membership.rb
class Membership < ActiveRecord::Base
belongs_to :member, class_name: "User"
belongs_to :club, class_name: "Group"
validates :member_id, presence: true
validates :club_id, presence: true
end