Декларативное разрешение и HAS_AND_BELONGS_TO_MANY
-
14-11-2019 - |
Вопрос
У меня есть небольшая проблема с декларативным авторизацией.У меня есть модель пользователя и подражание с ассоциацией HAS_AND_BELONGS_TO_MANY.
Я создал роль имени: модератор в моем авторизации_rules.rb
Возможно ли, что пользователь с модератором роли только получает пользователей, которые имеют роль модератора, назначенной ему ??-> user.with_permissions_to (: index)
Я думал, что это будет возможно:
role :moderator do
has_permission_on :users, :to => :index do
if_attribute :roles => contains { ????? }
end
end
.
Я также создал Named_scope в моей модели пользователя, потому что я думал, что это поможет ...
class User
has_and_belongs_to_many :roles
named_scope :by_role, lambda { |role|
{
:include => :roles,
:conditions => {"roles.name" => role}
}
}
end
.
знает ли кто-нибудь, если можно сделать это с объявлением_авторизации?
Спасибо за вашу помощь!
Решение
I did something similar in one of my projects but found dec_auth really confusing at the time. I think this is what you need to do:
authorization_rules.rb:
role :moderator do
has_permission_on :users, :to => :index
end
User Model:
class User < ActiveRecord::Base
using_access_control
end
Controller:
@users = User.with_permissions_to(:index)
Let me know if that doesn't work.