我正在我的Rails 3应用程序中实现一个身份验证+授权系统。我在用户和角色之间有一种HABTM关系。
我将扮演的角色是:经理、经销商、操作员、管理员
现在一个经理手下可以有很多经销商。我该如何建立这种关系的模型?
这是一个简单的问题,但我找不到答案。这里还有一个类似的问题:依赖角色的关联,但它不能正确地澄清问题。
编辑:
我觉得我的要求更简单了。对我来说,用户只能是管理员、操作员、经销商或经理。
为此,我可以简单地在User表中添加一个角色列。现在将如何执行经理和经销商之间的关系?
我想你正在寻找更像的东西
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