1
我有用戶,團隊和TeamMembership,它們與has_many:through關聯。視圖/控制器銷燬has_many:通過關聯
我想添加從團隊中刪除用戶的能力,這需要銷燬與之相關聯的TeamMembership模型。
我的模型如下:
# models/team.rb
class Team < ActiveRecord::Base
has_many :team_memberships, :dependent => :destroy
has_many :members, :through => :team_memberships
end
# models/user.rb
class User < ActiveRecord::Base
has_many :team_memberships
has_many :teams, :through => :team_memberships
end
# models/team_membership.rb
class TeamMembership < ActiveRecord::Base
belongs_to :team
belongs_to :member, class_name: 'User', foreign_key: 'user_id'
end
的看法目前看起來是這樣的:
- @team.members.each do |member|
.member
= link_to member.name, user_path(member)
= button_to "Remove User"
我在尋找幫助,完成了「刪除用戶」按鈕實現。我不確定如何通過我需要摧毀的隊員成員。
感謝。因爲我已經有了team_memberships控制器,所以我選擇了第二種選擇。 唯一的是確保你通過TeamMembership本身而不是ActiveRecord :: Relation。所以我使用了team_membership_path(@ team.team_memberships.where(user_id:member.id).first – HeroicEric 2012-01-04 17:32:33
好酷,對,我忘記了'.first';) – Robin 2012-01-04 17:33:51