我使用devise进行身份验证,我有另一个名为project的模型,如何指定用户拥有所有项目以及如何分配如下所示?
user_id project_id role1_id
---------- ---------- ----------
1 5 2
1 6 1
2 5 3
答案 0 :(得分:1)
Ryan Bates在this主题上提供了一个解决方案。您可以阅读它以获取完整的详细信息,但它涉及覆盖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
答案 1 :(得分: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')
以上只是一个示例,您需要提供更准确答案的详细信息。您的问题和描述不足以提供正确的答案。我希望它有所帮助......