2010-10-07 10 views
12

Zaimplementowałem Devise w aplikacji Rails 3 i potrzebuję użytkowników adminów, aby móc zarządzać użytkownikami. Użytkownicy nie podlegają rejestracji i dlatego administrator musi utworzyć konta. Jaki byłby najlepszy sposób na zrobienie tego?Zarządzanie kontami użytkowników za pomocą Rails 3 i Devise

Wygląda na to, że bardzo trudno jest stworzyć własne UsersController, gdy program Devise zapewnia już Devise::RegistrationController, ale nie widzę żadnych innych opcji.

Odpowiedz

13

ja zdecydowaliśmy się stworzyć własny UsersController wzdłuż boku RegistrationController. Naprawdę ma sens posiadanie własnego kontrolera RESTful do celów administracyjnych. Zadaniem programisty nie jest zarządzanie rekordami użytkowników i utrzymywanie powiązanych z nimi pól administracyjnych. W końcu jest to framework uwierzytelniania. Wydaje się słuszne pozostawienie go, aby zrobił to, do czego jest przeznaczony. Musisz utworzyć własny model użytkownika z jakiegoś powodu.

2

Można zastąpić kontroler RegistrationController, aby zapewnić wymaganą funkcjonalność. Sprawdź w pierwszej odpowiedzi stąd: Override devise registrations controller

+0

Nie testowałem tego, ale można zastąpić RegistrationController i po prostu umieścić w nim filtr before_filter, który zapewnia, że ​​administrator wysyła żądanie. – pushmatrix

+0

Obecnie mam własny kontroler rejestracji, aby uzyskać autoryzację. Mój problem polega na tym, że wywołując sign_up jako inny użytkownik, jesteś natychmiast zalogowany jako ten użytkownik (np. Rejestracja użytkownika). Jeśli mam zamiar tworzyć wszystkie moje własne metody, tak myślę, że wolałbym mieć własny kontroler UsersController –

Powiązane problemy