ich eine App mit Rails 4.Rails 4 - Pundit mit Rolify - eine Gruppe von Rollen ermöglicht
Ich habe eine Reihe von Rollen mit Rolify gem definiert zu machen versuche.
Jetzt möchte ich Pandit verwenden, um Benutzern mit einer Rolle bestimmte Dinge zu ermöglichen. Wenn mehr als eine Art von Rolle etwas bewirken kann, habe ich eine Gruppe von Rollen definiert.
In meiner application_policy habe ich private Methoden definiert, die die Rollengruppen festlegen, die ich in den Pandit-Berechtigungen verwenden möchte.
Meine Anwendungsrichtlinie instanziiert Benutzer und Datensatz. Ich definiere dann Datensatz als den Namen des relevanten Modells (derselbe Name wie die Richtlinie für dieses Modell).
ich habe:
class ApplicationPolicy
attr_reader :user, :record
def initialize(user, record)
@user = user
@record = record
end
def index?
false
end
def show?
scope.where(:id => record.id).exists?
end
def create?
false
end
def new?
create?
end
def update?
false
end
def edit?
update?
end
def destroy?
false
end
def scope
Pundit.policy_scope!(user, record.class)
end
class Scope
attr_reader :user, :scope
def initialize(user, scope)
@user = user
@scope = scope
end
def resolve
scope
end
end
private
def cf_legal
[ :Admin, :CF_Legal, :CF_Policy_Manager ]
end
def cf_content
[ :Admin, :CF_Author, :CF_Editor ]
end
end
Da ist in meinem Content-Richtlinien, möchte ich sagen:
def record
content
end
def create
user.has_role? :cf_content
end
Wenn ich diese speichern und versuchen Sie es, ich das Ding nicht sehen kann, was ich bin (als Benutzer mit der Rolle Autor sehen, soll
Kann jemand sehen, wie dies zu tun
Hallo Josh, ich verstehe nichts von dem, was Sie geschrieben haben. Ich werde meinen Beitrag bearbeiten, um meine Frage zu klären. – Mel