Ich möchte keine E-Mail für die Unterschrift nur Handy-Nummer benötigen, um Benutzer zu registrieren und in Devices Juwel anmelden. Ich habe die E-Mail aus der Datei config/initializers/devise.rb entfernt:E-Mail-Feld in Devise Gem entfernen?
Antwort
Dies ist die link in der validate.rb-Datei des Geräts. Sie können eine Methode email_required sehen? im Modell. Also ich denke
def email_required?
false
end
Sie müssen obige Methode in Ihre model.rb-Datei einfügen.
Sie müssen auch eine kleine Änderung an Ihrer Tabelle Benutzer vornehmen. Standardmäßig lässt Devise das E-Mail-Feld nicht null zu. Erstellen und Ausführen einer Migration ändern, die E-Mail-null sein können
# in console
rails g migration AddChangeColumnNullToUserEmail
# migration file
class AddChangeColumnNullToUserEmail < ActiveRecord::Migration
def self.up
change_column :users, :email, :string, :null => true
end
def self.down
change_column :users, :email, :string, :null => false
end
end
Sie können this Anleitung verwenden, mit Ausnahme von mobile
anstelle von username
. z.B.
In devise.rb:
config.authentication_keys = [:mobile]
In Ihrem Controller:
.permit(:mobile)
ändern Sie das E-Mail-Feld auf Ihr Mobile Feld in app/views/devise/sessions/new.html.erb
und app/views/devise/registrations/new.html.erb
In devise.en.yml:
invalid: 'Invalid mobile number or password.'
not_found_in_database: 'Invalid mobile number or password.'
U muss sich ändern config.authentication_keys = [ :phone_number ]
es hängt davon ab, wie Sie es in Ihrer DB speichern und in der Form zu f.text_field
ändern, die es sein sollte.
nein, das ist falsch –
- 1. Rails Devise Gem init
- 2. Rails - Devise Gem entfernen Registrieren und Passwort vergessen Module
- 3. form_for nicht HTML in Devise-Schleife akzeptieren? (Devise Rails Gem)
- 4. Was bedeutet "Sitzungsspeicher überspringen" in Devise Gem?
- 5. Wie Registrierung Controller von devise gem
- 6. user.valid_password von devise gem funktioniert nicht
- 7. Devise gem: add-Modul nach der Basisinstallation
- 8. Devise + Omniauth Twitter + Twitter Gem aktualisieren Attribute
- 9. Devise Gem: Login nur mit E-Mail
- 10. Rails devise gem mit rails-settings
- 11. Gem von RVM Gemset entfernen?
- 12. Warum sollten Schienen nicht Noobs Gem Devise verwenden?
- 13. param fehlt oder der Wert ist leer: user (devise gem)
- 14. Action :: InvalidAuthenticityToken Rails 5/Devise/Geprüfter/PaperTrail gem
- 15. Unitialized Constant Devise RSPEC
- 16. Entfernen/Deaktivieren der Registrierung von Devise
- 17. Devise omniauth Integrationsproblem
- 18. Cocoon Gem kann verschachteltes Feldbild nicht entfernen
- 19. Devise + Omniahuth: undefinierte Methode `user_omniahuth_authorize_path '
- 20. Wie in HAML Ansichten für Devise generieren
- 21. Devise authenticate_user
- 22. Circular Argument Referenz mit Devise
- 23. Wie aktualisiere ich das Passwort, wenn das aktuelle Passwort in devise gem leer ist?
- 24. AGB Gem für Rails
- 25. Angabe gem von Github funktioniert nicht
- 26. Entfernen Sie Benutzer aus der Datenbank (Ruby on Rails, Devise)
- 27. ActiveResource NameError in überschriebener Devise-Klasse
- 28. Wie kann ich einen Teil des Codes von gem entfernen
- 29. Schienen: geschachtelte_Form Gem entfernen funktioniert nicht, aber hinzufügen funktioniert
- 30. Rails Devise Gem, (undefinierte Methode `to_datetime 'für nil: NilClass) wenn ich ein Passwort wiederherstellen möchte
Haben Sie überprüft https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign-in- using-your-username-or-email-address, können Sie 'mobile number' anstelle von' username' verwenden –