0

Ich benutze deklarative Authorization Juwel und in meinem authorization_rules.rb Ich habe folgende Regel:Deklarative Autorisierung - Wie wird der Zugriff auf alle Aktionen im Controller festgelegt?

role :admin do 
    has_permission_on :users, :to => [manually set up all actions in this controller] 
    end 

Existieren mehr elegante Art und Weise den Zugang für alle Aktionen in den jeweiligen Controller einzurichten? Ich habe versucht, diese Wege

role :admin do 
    has_permission_on :users, :to => :all 
    end 

    role :admin do 
    has_permission_on :users 
    end 

Aber nichts funktioniert mich. Gibt es eine bessere Möglichkeit, alle Aktionen im Controller einzurichten, als jede einzelne Aktion sklavisch zu tippen?

Antwort

0

Aktionen sind öffentliche Methoden für eine Controller-Klasse. Der folgende Code ist nicht getestet, sollte Ihnen aber helfen.

c = MyController 
actions = [] 
c.public_methods(false).each { |m| actions << m.to_sym } 

role :admin do 
    has_permission_on :users, :to => actions 
end 
0

Das ist, was ich tue:

has_permission_on :controller, :to => [:all] 
Verwandte Themen