Ruby on rails rails4中的多态关联
我将按照本教程为我的rails4应用程序设置授权机制 我已经创建了数据模型,但没有管理(从控制台)以获得用户的权限(通过all_rights方法) 在用户模型中,用户对象如何调用“self.rights”,因为这些权限是通过RightAssignment而不是直接从用户获得的 我的模型:Ruby on rails rails4中的多态关联,ruby-on-rails,ruby-on-rails-4,polymorphism,Ruby On Rails,Ruby On Rails 4,Polymorphism,我将按照本教程为我的rails4应用程序设置授权机制 我已经创建了数据模型,但没有管理(从控制台)以获得用户的权限(通过all_rights方法) 在用户模型中,用户对象如何调用“self.rights”,因为这些权限是通过RightAssignment而不是直接从用户获得的 我的模型: class User < ActiveRecord::Base has_many :right_assignments, as: :subject has_and_belongs_to_many
class User < ActiveRecord::Base
has_many :right_assignments, as: :subject
has_and_belongs_to_many :groups
has_and_belongs_to_many :roles
def all_rights
rights = [self.rights +
self.groups.collect { |g| g.allowed_rights } +
self.roles.collect { |r| r.rights }]
rights = rights.flatten.uniq.collect { |r| r.action }
rights
end
end
class Group < ActiveRecord::Base
has_many :right_assignments, as: :subject
has_and_belongs_to_many :users
def allowed_rights
self.assignable_rights ? self.rights : []
end
end
class Role < ActiveRecord::Base
has_many :right_assignments, as: :subject
has_and_belongs_to_many :users
end
class RightAssignment < ActiveRecord::Base
belongs_to :right
belongs_to :subject, polymorphic: true
end
class Right < ActiveRecord::Base
has_many :right_assignments
end
class用户
有什么想法吗?你可以使用
:通过
class User < ActiveRecord::Base
has_many :right_assignments, as: :subject
has_many :rights, :through => :right_assignments
has_and_belongs_to_many :groups
has_and_belongs_to_many :roles
class用户:权限\u分配
_和_是否属于多个:组
_和_属于_很多角色吗