我正在我的Rails 3应用程序中实现身份验证+授权系统。 我与用户和角色之间存在HABTM关系。
我将拥有的角色是:经理,经销商,运营商,管理员
现在经理可以在他身下有很多经销商。我如何模拟这种关系?
这是一个简单的问题,但我找不到答案。这里也有一个类似的问题:Role-dependent associations但它并没有正确清除事情。
我认为我的要求更简单。对我来说,用户只能是管理员,操作员,经销商或经理。
为此我可以简单地将一个角色列添加到User表。经理和经销商之间的关系现在如何实施?
答案 0 :(得分: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