Méthodes d'écriture lors de l'utilisation de la devise, ce que je ne suis pas doué personnellement. En mémoire
private
def configure_permitted_parameters
#Autoriser les paramètres pour le modèle utilisateur de l'appareil
devise_parameter_sanitizer.permit(:définir le nom du processus, keys: [:Clés à autoriser])
end
Le paramètre fort est décrit dans le contrôleur, mais le contrôleur qui traite la conception est décrit dans le Gem, il ne peut donc pas être modifié. De plus, si vous implémentez la fonction de connexion avec devise, en plus des paramètres, vous recevrez également des paramètres différents des paramètres. Vous avez besoin d'un moyen de refléter des paramètres forts dans le contrôleur de périphérique et d'un moyen d'obtenir des paramètres spécifiques au périphérique.
Vous pouvez obtenir des paramètres à partir de demandes telles que «connexion» et «nouvel enregistrement» liées au modèle utilisateur de l'appareil. En combinant cette méthode avec la méthode permit, vous pouvez également spécifier et inclure des colonnes nouvellement ajoutées pour les paramètres forts définis dans devise.
private
def configure_permitted_parameters #Le nom de la méthode est habituel
#Autoriser les paramètres pour le modèle utilisateur de l'appareil
devise_parameter_sanitizer.permit(:définir le nom du processus, keys: [:Clés à autoriser])
end
Le permis de périphérique ajoute les paramètres autorisés en spécifiant la clé dans le tableau pour la clé du nom de traitement du dispositif dans le premier argument et les clés dans le second argument.
Méthode | Utilisation |
---|---|
:sign_in | Lors du traitement de la connexion |
:sign_up | Lors du traitement d'un nouvel enregistrement |
:account_update | Lors du traitement de la mise à jour des informations de compte |
Permet l'acquisition de paramètres avec la même clé que le nom spécifié dans les clés du deuxième argument pour le processus spécifié dans le premier argument. La valeur d'attribut de nom de chaque partie de formulaire décrite dans la vue est la clé du paramètre soumis à partir du formulaire. Le code pour ajouter un paramètre fort à concevoir ne peut pas être édité par le contrôleur de l'appareil, donc ⇩ Écrivez-le dans application_controller comme ceci.
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?" Est-ce que si le traitement du contrôleur est lié à Ce n'est qu'alors que la méthode configure_permitted_parameters sera exécutée. La description. Même si le processus est lu par d'autres contrôleurs de tweets, il n'est pas exécuté.
Ceci est un mémorandum.
Recommended Posts