2010-10-07 11 views
12

Bir Rails 3 uygulamasında Devise'yi uyguladım ve kullanıcıları yönetmek için yönetici kullanıcılarına ihtiyacım var. Kullanıcılar kaydedilemez ve bu yüzden bir yönetici hesap oluşturmalıdır. Bu konuda gitmenin en iyi yolu ne olurdu?Rails 3 ve Devise ile Kullanıcı Hesaplarını Yönetme

Devise zaten Devise::RegistrationController sağladığında, kendi UsersController'umu oluşturmak çok da DRY görünmüyor ama başka bir seçenek göremiyorum.

cevap

13

benim yan RegistrationController boyunca kendi UsersController. Yönetici amaçları için kendi RESTful denetleyiciye sahip olmak gerçekten mantıklı. Kullanıcı kayıtlarını yönetmek ve bunlarla ilişkili idari alanları sürdürmek devise'nin görevi değildir. Sonuçta, bir kimlik doğrulama çerçevesi. Ne için tasarlandığını yapmak için onu bırakmak doğru görünüyor. Bir sebepten dolayı kendi kullanıcı modelinizi oluşturmanız gerekmektedir.

2

İhtiyacınız olan işlevselliği sağlamak için RegistrationController'ı geçersiz kılabilirsiniz. Buradan ilk cevabı kontrol edin: Ben oluşturmak için tercih Override devise registrations controller

+0

Bunu test etmediniz, ancak RegistrationController'ı geçersiz kılabilir ve bir yöneticinin isteği gerçekleştirmesini sağlayan bir ön_filtreyi yerleştirebilirsiniz. – pushmatrix

+0

Aslında yetkilendirme için şu anda kendi kayıt denetleyicim var. Benim sorunum, başka bir kullanıcı olarak sign_up çağırırken o kullanıcı olarak (kullanıcı kaydı gibi) anında giriş yaptığınızdır. Eğer kendi metotlarımın hepsini yaratıyorsam, sadece kendi UsersController'ımı tercih ederim. –