Methoden zum Schreiben bei der Verwendung von Geräten, die ich persönlich nicht gut kann. Als Memorandum
private
def configure_permitted_parameters
#Zulassen von Parametern für das Benutzermodell des Geräts
devise_parameter_sanitizer.permit(:Prozessname entwickeln, keys: [:Schlüssel zu erlauben])
end
Der starke Parameter wird im Controller beschrieben, aber der Controller, der das Gerät verarbeitet, wird im Gem beschrieben, sodass er nicht bearbeitet werden kann. Wenn Sie die Anmeldefunktion mit devise implementieren, erhalten Sie zusätzlich zu den Parametern auch Parameter, die sich von den Parametern unterscheiden. Sie benötigen eine Möglichkeit, starke Parameter im Devise Controller wiederzugeben und gerätespezifische Parameter abzurufen.
Sie können Parameter aus Anforderungen wie "Login" und "New Registration" abrufen, die sich auf das Benutzermodell von devise beziehen. Durch Kombinieren dieser Methode mit der Genehmigungsmethode können Sie auch neu hinzugefügte Spalten für die in devise definierten starken Parameter angeben und einschließen.
private
def configure_permitted_parameters #Methodenname ist üblich
#Zulassen von Parametern für das Benutzermodell des Geräts
devise_parameter_sanitizer.permit(:Prozessname entwickeln, keys: [:Schlüssel zu erlauben])
end
Die Erlaubnis zum Entwickeln fügt die zulässigen Parameter hinzu, indem der Schlüssel im Array für den Schlüssel des Entwurfsverarbeitungsnamens im ersten Argument und die Schlüssel im zweiten Argument angegeben wird.
Methode | Verwenden |
---|---|
:sign_in | Bei der Bearbeitung des Logins |
:sign_up | Bei der Bearbeitung einer neuen Registrierung |
:account_update | Bei der Verarbeitung der Kontoinformationen aktualisieren |
Ermöglicht die Erfassung von Parametern mit demselben Schlüssel wie der in den Schlüsseln des zweiten Arguments angegebene Name für den im ersten Argument angegebenen Prozess. Der Name-Attributwert jedes in der Ansicht beschriebenen Formularteils ist der Schlüssel des vom Formular übermittelten Parameters. Der Code zum Hinzufügen eines starken Parameters zum Entwickeln kann nicht vom Controller des Geräts bearbeitet werden. ⇩ Schreiben Sie ihn daher wie folgt in application_controller.
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
private
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
end
end
"if :: devise_controller?" Ist, wenn sich die Controller-Verarbeitung auf devise bezieht Nur dann wird die Methode configure_permitted_parameters ausgeführt. Beschreibung. Selbst wenn der Prozess von anderen Tweets-Controllern gelesen wird, wird er nicht ausgeführt.
Dies ist ein Memorandum.
Recommended Posts