0

我使用设计进行身份验证,并且我有另一个名为 project 的模型,我如何分配用户拥有所有项目以及如何分配,如下所示?

user_id     project_id  role1_id  
----------  ----------  ----------
1           5           2                     
1           6           1
2           5           3
4

2 回答 2

1

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
于 2012-10-22T14:02:13.120 回答
0
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')

以上只是一个例子,您需要提供更多详细信息才能获得准确的答案。您的问题和描述不足以提供正确的答案。我希望它有帮助....

于 2012-10-22T13:54:52.190 回答