Pregunta

Tengo un pequeño problema con la autorización declarativa.Tengo un modelo y un modelo a seguir con una asociación has_and_belongs_to_many.

He creado un rol llamado: Moderador en mi autorización_rules.rb

¿Es posible que un usuario con el moderador de roles solo obtenga los usuarios que tienen la función de moderador asignada?-> usuario.with_permissions_to (: índice)

Pensé que sería posible así:

role :moderator do
  has_permission_on :users, :to => :index do
    if_attribute :roles => contains { ????? }
  end
end

También creé un Named_Scope en mi modelo de usuario porque pensé que ayudaría a ...

class User
  has_and_belongs_to_many :roles
  named_scope :by_role, lambda { |role|
    {
      :include => :roles,
      :conditions => {"roles.name" => role}
    }
  }
end

¿Alguien sabe si es posible hacer esto con Declarative_Autorization?

¡Gracias por su ayuda!

¿Fue útil?

Solución

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top