在我开始做一些爱好项目之前,我正在寻找一些建议。我正在为我参与的几个当地体育团体申请。
我希望大多数人登录并仅查看与他们合作的团队的信息,但是有些人(如我自己)与多个团队合作,因此当我登录时,我希望访问所有信息和在我工作的团队之间跳跃。
我正在使用Devise来控制用户登录。
使用活动记录并过滤用户可以访问的团队或用户下的Nest团队的每个视图会更好吗?或者我错过了更好的方法。
提前致谢
克里斯
答案 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