Wenn Sie ein Juwel namens devise installieren, können Sie problemlos Anmelde- und Anmeldefunktionen implementieren. Starke Parameter (Passwort, E-Mail-Adresse) werden im Voraus angegeben.
Wenn Sie sich jedoch anmelden oder anmelden, möchten Sie möglicherweise auch andere starke Parameter (Name, Bild usw.).
In diesem Fall geben wir aus, wie starke Parameter hinzugefügt werden.
Mit der Methode devise_parameter_sanitizer können Sie den in devise festgelegten starken Parametern Parameter hinzufügen.
Anwendungsbeispiel
devise_parameter_sanitizer.permit(Die Art der Methode, die Sie hinzufügen möchten, keys: [Parametername, den Sie hinzufügen möchten])
Zum Beispiel, wenn Sie bei der Anmeldung Bildinformationen benötigen
devise_parameter_sanitizer.permit(:sign_up, keys: [:image])
Sie haben jetzt ein Gerät, das Bilder hochlädt, wenn Sie sich anmelden. Danach sind einige Dinge zu beachten.
① Setzen Sie die Methode devise_parameter_sanitizer auf before_action
(2) Die Methode devise_parameter_sanitizer wird in der Steuerung beschrieben, die die Devise-Steuerung erbt.
③ Schreiben Sie die Methode devise_parameter_sanitizer nicht direkt in before_action
Das? Was du sagst, ist anders! ?? Eigentlich können Sie es nicht direkt vor_action einstellen. Grundsätzlich wird devise_parameter_sanitizer in der "configure_permitted_parameters-Methode" definiert. Setzen Sie dann configure_permitted_parameters auf before_action.
Wenn Sie sich nicht sicher sind, schauen wir uns ein Beispiel an.
before_action :configure_permitted_parameters
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:image])
end
configure_permitted_parameters bedeutet, die zulässigen Parameter festzulegen.
Das ist es!
Recommended Posts