ich mit dem cancancan Juwel für Schienencancancan eine Beziehung verwalten Rails
gem 'cancancan', '~> 1.10'
Ich habe vier Modelle in ein Problem leite: User, Unternehmen, Standorte, Gruppen
Benutzer: Gehört zur Firma Unternehmen : Hat Lage viele Standorte: Gruppe gehört das Unternehmen:
im Fähigkeiten Modell gehört Ort habe ich dieses:
can :manage, Group, :location => {:id => user.company.locations.map{|l| l.id}}
Wenn Erstellen einer neuen Gruppe I verweigert bin
(keinen Zugriff haben) ich für die richtige Art und Weise suchen, damit ein Benutzer, eine Gruppe mit einer der Firmen Standort-IDs (Anmerkung erstellen: Ohne Cancan auf das alles funktioniert und alle IDs sind verwandt und so weiter).
Danke! Ihr Vorschlag zum Pflücken ist genau das, wonach ich gesucht habe! Ich kann jedoch immer noch keine Gruppe erstellen. Wenn ich versuche zu erstellen, zeigt es mir, dass ich keinen Zugriff auf diese Ressource habe. – gregwinn
Hmm ... Um es noch einmal zu überprüfen, versuchen Sie, eine Gruppe für einen Standort zu erstellen, der zu einem Unternehmen gehört, zu dem Ihr Benutzerkonto gehört, oder? Wenn Cancancan richtig eingerichtet ist, können Sie nur eine Gruppe erstellen, wenn es eine location_id hatte, die in der Sammlung der Standorte Ihres Unternehmens vorhanden war. Wenn die Gruppe, die Sie erstellen möchten, nicht über die erforderliche location_id verfügt, sollte sie Sie * ablehnen. – H12
Richtig, ich habe weitere Details unten eingefügt: def group_params params.erfordern (Gruppe) .permit (Name,: location_id) Ende erstellen Methode: @ group.create (group_params) .save Params im dev Protokoll gesendet: ' "Gruppe"=> { "name" => "Test"}, "button" => "", "location_id" => "1"} ' – gregwinn