我使用设计进行身份验证,并且我有另一个名为 project 的模型,我如何分配用户拥有所有项目以及如何分配,如下所示?
user_id project_id role1_id
---------- ---------- ----------
1 5 2
1 6 1
2 5 3
我使用设计进行身份验证,并且我有另一个名为 project 的模型,我如何分配用户拥有所有项目以及如何分配,如下所示?
user_id project_id role1_id
---------- ---------- ----------
1 5 2
1 6 1
2 5 3
Ryan Bates 在这个线程上提供了一个解决方案。您可以阅读它以获取完整的详细信息,但它涉及覆盖该current_ability
方法。
# in controller
def current_ability
@current_ability ||= Ability.new(current_user, current_project)
end
# in Ability class
def initialize(user, project)
if user.admin_for_project?(project)
can :manage, :all
else
can :read, :all
end
end
has_many :project_ids, Class: 'Your Class name' ('USER' or 'WHATEVER')
如果你的数据库中有外键,你可以添加
has_many :project_ids, foreign_key: 'project_id', Class: 'Your Class name' ('USER' or 'WHATEVER')
以上只是一个例子,您需要提供更多详细信息才能获得准确的答案。您的问题和描述不足以提供正确的答案。我希望它有帮助....