Me preguntaba cómo puedo definir una clase de capacidad y servir a esa clase de capacidad en función del usuario que ha iniciado sesión.rieles Can Can Capacidad de clase para múltiples modelos Idear
que estoy usando administración activa, Can Can y diseñar y he creado con éxito un usuario y un administrador de usuarios modelos.
tengo esto en mi ability.rb
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new
if (user)
can :manage, Item
end
end
end
Ahora he utilizado esta entrada wiki para determinar que, efectivamente, podemos definir un archivo de capacidad costumbre y el uso que en lugar de la ability.rb:
https://github.com/ryanb/cancan/wiki/changing-defaults
Pero lo que quería hacer es, ser capaz de utilizar ability.rb si un "no-usuario admin" y se firma en una costumbre abilty si un usuario admin se ha iniciado sesión.
Pregunta complementaria: ¿Podría hacerse de manera que no necesite una personalizada y podría establecer permisos en un archivo ability.rb?
Ah, tienes razón. No noté que había usado una clase separada para Usuario y Administrador. Debería poder cambiar la clase utilizada por Active Admin, pero no ser usuario de ese sistema, no estoy seguro exactamente de dónde es eso. Sin embargo, probablemente debería verificar tus inicializadores. – jdl