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