[RUBY] [Paramètres forts]

Quels sont les paramètres forts

ストロングパラメーター.png

Je vais vous expliquer quels sont les paramètres forts qui apparaissent lors de la définition des actions dans le contrôleur.

Il y a une description de create (tweet_params) dans le contenu d'exécution de l'action de création, mais cet argument, tweet_params, est défini dans la méthode privée.

méthode privée

Private est une méthode qui ne peut pas être appelée depuis l'extérieur de la classe. Il y a deux avantages à utiliser la méthode privée:

1. Isolez les méthodes qui posent problème lorsqu'elles sont appelées depuis l'extérieur de la classe

Étant donné que certaines méthodes provoquent une erreur lorsqu'elles sont appelées depuis l'extérieur de la classe, il est possible d'éviter l'erreur à l'avance en les isolant.

2. Améliorez la lisibilité du code

La séparation claire des parties privées et non privées améliore la lisibilité en tant que code

Dans cette méthode privée Une méthode appelée tweet_params est définie et le contenu de traitement est le suivant.

ストロング2.png

Prenez le modèle de tweet comme l'argument de require Il prend: nom: image: texte comme argument de permis.

Cela signifie que parmi les données envoyées depuis le formulaire, seuls les paramètres avec la clé spécifiée sous permit :: name: image: text seront reçus.

Le mécanisme qui reçoit uniquement les paramètres avec cette clé spécifiée est appelé paramètre fort.

En spécifiant des paramètres forts, il est possible d'empêcher l'envoi de paramètres non spécifiés et d'empêcher les mises à jour involontaires des données.

Par exemple, si vous envoyez un paramètre pour mettre à jour le mot de passe de connexion d'une autre personne, vous pouvez modifier le mot de passe d'une autre personne sans autorisation. Vous devez utiliser des paramètres forts pour éviter que cela ne se produise.

Regardant à nouveau le code

ストロングパラメーター.png

Comme la méthode create spécifie tweet_params comme argument, de nouvelles données sont créées et enregistrées via la méthode tweet_params. Par conséquent, dans ce cas, le nouveau tweet n'a toujours que le paramètre fort spécifié dans l'argument d'autorisation.

Recommended Posts

[Paramètres forts]
rails Paramètres forts
[rails] Que sont les paramètres forts?
À propos d'exiger lors de la définition de paramètres forts
[Rails] Ajoutez des paramètres forts pour concevoir
Paramètres CheckStyle
[Rails] Comment obtenir le contenu des paramètres forts