如何分配属于用户的所有项目?

时间:2012-10-22 05:20:57

标签: ruby-on-rails ruby-on-rails-3

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

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

2 个答案:

答案 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')

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