RoR用户访问超过1个团队

时间:2018-02-18 11:48:38

标签: ruby-on-rails

在我开始做一些爱好项目之前,我正在寻找一些建议。我正在为我参与的几个当地体育团体申请。

我希望大多数人登录并仅查看与他们合作的团队的信息,但是有些人(如我自己)与多个团队合作,因此当我登录时,我希望访问所有信息和在我工作的团队之间跳跃。

我正在使用Devise来控制用户登录。

使用活动记录并过滤用户可以访问的团队或用户下的Nest团队的每个视图会更好吗?或者我错过了更好的方法。

提前致谢

克里斯

1 个答案:

答案 0 :(得分:0)

假设您有以下模型结构:

class User < ApplicationRecord
  has_many :team_memberships
  has_many :teams, through: :team_memberships
end

class Team < ApplicationRecord
  has_many :team_memberships
  has_many :users, through: :team_memberships
end

class TeamMembership < ApplicationRecord
  belongs_to :team
  belongs_to :user
end

在您的情况下,我会将团队范围限定为current_user。即:

对于/ teams路径(简化示例)

class TeamsController < ApplicatitonController
  def index
    @teams = current_user.teams
  end
end
相关问题