0

我正在我的 Rails 3 应用程序中实现身份验证+授权系统。我与用户和角色之间存在 HABTM 关系。

我将拥有的角色是:经理、经销商、操作员、管理员

现在一个经理可以有很多经销商在他手下。我如何模拟这种关系?

这是一个简单的问题,但我找不到答案。这里还有一个类似的问题:角色相关的关联,但它并没有正确地清除事物。

编辑

我认为我的要求更简单。对我来说,用户只能是管理员、操作员、经销商或经理。

为此,我可以简单地将角色列添加到用户表。现在将如何执行经理和经销商之间的关系?

4

1 回答 1

0

我想你正在寻找更像

class Organization < ActiveRecord::Base
  has_many :users
  has_many :managers
  has_many :dealer
  has_many :admins
  has_many :operators
  has_many :dealer_users, :through => :managers, :class_name=>"User"
end

class Admin < ActiveRecord::Base
  has_many :organizations
  belongs_to :user
end

class Dealer
  has_many :organizations
  belongs_to :user
end

class Operator < ActiveRecord::Base
  has_many :organizations
  belongs_to :user
end

class Manager < ActiveRecord::Base
  has_many :dealers
  belongs_to :organization
end

class User < ActiveRecord::Base
  has_many :organizations
  has_many :admins
  has_many :operators
  has_many :managers
  has_many :dealers
end
于 2013-02-13T09:01:10.163 回答