Nach dem Erstellen eines Benutzerregistrierungs- und Anmeldebildschirms mit Gerät Diese Methode ist vorgesehen, wenn Sie sich mit anderen als den Standardinformationen (E-Mail) registrieren / anmelden möchten.
Ich habe das Formular auf der Ansichtsseite bearbeitet, aber es gibt eine Falle, die ich nicht registrieren oder anmelden kann. siehe.
In den folgenden Fällen werden die Schlüssel von sing_up und account_update geändert.
app/controllers/application.controller.rb
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
if resource_class == User
devise_parameter_sanitizer.permit(:sign_up, keys: [:name,:email])
devise_parameter_sanitizer.permit(:sign_in,keys:[:email])
devise_parameter_sanitizer.permit(:account_update,keys:[:name,:email])
end
end
end
defore _action
before_action :configure_permitted_parameters, if: :devise_controller?
before_action ist eine Art Filter, der für alle Controller ausgeführt wird, indem er in application.contoller geschrieben wird.
: devise_contoller? ist eine der Hilfsmethoden, die beim Generieren von devise erstellt werden können. Wenn Sie zu dem Bildschirm springen möchten, der sich auf das Gerät bezieht. Dadurch werden configure_permitted_parameters auf allen Entwicklungsbildschirmen gestartet.
Dies bedeutet, dass wenn es sich um einen Gerätecontroller handelt (wenn der Rückgabewert der Methode devise_controller? True ist), configure_permitted_parameters aufgerufen wird.
Recommended Posts