Devize: Erlaube Admins andere Benutzer zu bearbeiten - Rails
Ich versuche, damit ein admin-Benutzer zu Bearbeiten, die andere Benutzer in der Konzipierung, aber wenn ich versuche, auf einer Bearbeiten-Seite für einen anderen Benutzer (z.B. /users/1/edit), bekomme ich folgende Meldung:
Unknown action
Could not find devise mapping for path "/users/1/edit"
Der einzige Weg, der zu funktionieren scheint ist /Benutzer/Bearbeiten, das zeigt die edit-Seite für den aktuellen Benutzer.
In meiner Strecken-Datei habe ich:
devise_for :users, :controllers => { :registrations => 'users' }
resources :users
Irgendwelche Ideen? Danke!
InformationsquelleAutor der Frage Haidn Foster | 2011-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe, dies zu tun als gut, und es ist derzeit nicht gebaut zu entwickeln. Da die Antworten auf die meisten von Ihnen positiv bewertet werden, hat ein Toter link, ich dachte, ich poste meine Lösung hier.
Müssen Sie einen UsersController und baute aus Ihr Formen und controller auf Ihre eigenen, aber dann müssen Sie auch zu isolieren, die UsersController, entwickeln setzt. Um dies zu tun, in Ihrem
routes.rb
- Datei, ändern Sie Ihredevise_for :users
AufrufDies wird sich ändern alle Ihre Standard-entwickeln-behandelt den Routen von /d/Benutzer/... und lassen Sie den /die Benutzer/... Pfad lassen Sie Benutzer verwalten als admin.
Entwickeln, befasst sich auch diese in Ihrem wiki.
InformationsquelleAutor der Antwort Josh Kovach
Gerät ist ideal für Benutzer Authentifizierung aber es hat nicht kommen mit eingebauter Unterstützung für Verwaltung Benutzer. Du wirst So zu bauen, dass sich selbst.
Hier ein Beispielwie es zu tun. Das Beispiel ist ein paar Monate alt, aber es sollte zeigen Sie in die richtige Richtung.
InformationsquelleAutor der Antwort Dty
Ich habe getan, was Sie zu tun versuchen, und Sie Ihre Routen mit der rechten Aussehen.
Müssen Sie auch einen UsersController, dass die Griffe alle CRUD-Aktionen, die Sie ausführen möchten, auf die Benutzer. Dies ist getrennt von Entwickeln.
Wenn Ihr UsersController ist da, man kann nur erlauben, den admin-Benutzer Zugriff auf bestimmte Aktionen durch umleiten (vielleicht in einem vor-filter) wenn die current_user ist kein admin.
InformationsquelleAutor der Antwort CharlieMezak