İşte benim durumum, kullanıcıların sitemde hesabını oluşturmasına ve kimlik doğrulamasını yönetmelerine olanak sağlamak için kullanıyorum. Kayıt işlemi sırasında, müşterilerin gerçekten farklı bir hesabın oluşturulmasına yol açan bazı seçeneklerini değiştirmelerine izin veriyorum, ancak yine de aynı çekirdek kullanıcı kaynağına bağlı olarak . Bazı hesap türleri için bazılarının onay e-postasını göndermemeyi tercih ediyorum. Hesabın teyit edilmemesi ve kullanıcının giriş yapamaması umurumda değil, sorun değil, pb. Bunu yapmayı nasıl yaparım? Teşekkürler, AlexDevise: Belirli durumlarda bir onay e-postası göndermemek mümkün mü? (onaylanabilir etkin olsa bile)
Devise: Belirli durumlarda bir onay e-postası göndermemek mümkün mü? (onaylanabilir etkin olsa bile)
cevap
Aslında biraz daha derine indiğimde oldukça kolaydır. Sadece kullanıcı modeli bir yöntemini geçersiz (veya kullandığınız her ne ise):
# Callback to overwrite if confirmation is required or not.
def confirmation_required?
!confirmed?
end
şartlarınızı ve iş bitti koy!
Alex
Ben fonksiyonları ile benzer bir şey yapmak başardı:
registrations_controller.rb
def build_resource(*args) super if session[:omniauth] # TODO -- what about the case where they have a session, but are not logged in? @user.apply_omniauth(session[:omniauth]) @user.mark_as_confirmed # we don't need to confirm the account if they are using external authentication # @user.valid? end end
Ve sonra benim kullanıcı modelinde:
user.rb
def mark_as_confirmed self.confirmation_token = nil self.confirmed_at = Time.now end
Devise diğer cevaplar sunuldu sonra bu eklenirse bilmiyorum, ancak bunun için kod confirmable.rb
doğru vardır:
# If you don't want confirmation to be sent on create, neither a code
# to be generated, call skip_confirmation!
def skip_confirmation!
self.confirmed_at = Time.now
end
Kullanıcıyı kaydetmeden önce bunu çağırmanız gerektiğini unutmayın, aksi takdirde "Onaylama talimatları" e-postası gönderilecektir. – dukedave
Ayrıca benzer bir 'skip_reconfirmation!' Yöntemi –
Ayrıca sadece önce denetleyicisi kod aşağıdaki satırı ekleyebilirsiniz yeni kullanıcı oluşturma: sadece e-posta göndererek atlamak istiyorum ama onay yapmadığı takdirde,
@user.skip_confirmation!
'Create' eylemini aşırı yüklüyorsanız ve 'super do | user |' özelleştirme için kullanıyorsanız, atlamak için çok geç, e-postayı önceden gönderdikten sonra. Bu, örneğin, 'build_resource' içinde olmalıdır. –
kullanın:
# Skips sending the confirmation/reconfirmation notification email after_create/after_update. Unlike
# #skip_confirmation!, record still requires confirmation.
@user.skip_confirmation_notification!
Bu yöntemi üzerine bir geri arama ile Modelinizdeki bu aramak istemiyorsanız:
def send_confirmation_notification?
false
end
- 1. .htaccess allowoverride etkin olsa bile çalışmaz
- 2. Windows 7 Flip 3D etkin olsa bile bir form her zaman en üstte nasıl oluşturulur
- 3. Bash: Durum doğru olsa bile girilemiyor
- 4. Onay kutusu öğeleriyle birlikte spinner mümkün mü?
- 5. --prefix ayarlanmış olsa bile --prefix değerine ayarlanmış olsa bile --prefix değerine Jenkins tarafından erişilemiyor
- 6. HTML'den PHP'ye işaretlenmemiş olsa bile tüm onay kutusu değişkenlerini nasıl alabilirim?
- 7. Java - file.length(), dosya okunamıyor olsa bile döner.
- 8. Basit CORS çalışmıyor (çalışmıyor olsa bile)
- 9. Mevcut olsa bile libstlport_shared bağlantısı başarısız oldu ...?
- 10. hibernate getId tempolu olsa bile nesneyi yüklüyor
- 11. Durumum yanlış olsa bile, Yöntemim neden yineleniyor?
- 12. Etkin yönetici olarak derin iç içe geçirme yapmak mümkün mü?
- 13. Uygulamayı devre dışı bırak: Toplu iş kullanıcıları için anında onaylanabilir
- 14. PHP'de anonim bir dizinin belirli bir öğesine başvurmak mümkün mü?
- 15. Belirli bir satıra vim'de yeni bir sekme açmak mümkün mü?
- 16. Raylar devise onay e-postası göndermez, ancak
- 17. VNC bağlantısının etkin olup olmadığını bulmak mümkün mü
- 18. Devise
- 19. görüntüyü giriş tipi = "onay kutusu" olarak koymak mümkün mü?
- 20. Belirli bir IP'ye selenyum bağlama - Mümkün mü? Birçoğunuz gibi
- 21. Sadece Maven'de belirli bir profil etkinken proxy kullanmak mümkün mü?
- 22. mysqldump'ın belirli bir tablo için ekleri atlamasını sağlamak mümkün mü?
- 23. Arabirim üstünde, belirli bir MAC adresini taramak mümkün mü?
- 24. ActiveRecord nesnesine belirli bir öznitelikle ilişkilendirmeden hata eklemek mümkün mü?
- 25. IntelliJ, belirli bir arayüzün tüm yöntemlerine @Overrrides eklemek mümkün mü?
- 26. Yalnızca belirli bir özellik için bağlamayı işlemek mümkün mü?
- 27. Belirli bir önek ile varlık kataloğundaki resimleri saymak mümkün mü?
- 28. Sadece belirli bir android sürümü için widget göstermek mümkün mü?
- 29. PDF'leri Preview.app ile belirli bir sayfada açmak mümkün mü?
- 30. WordPress Özelleştirici'de belirli bir kategoriye ait seçenekleri kaydetmek mümkün mü?
posta bir resend_confirmation veya send_reconfirmation içinde gönderilmez, yararlı ... –
Vay vardır .. Süper havalı adam! – knagode