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.
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:
É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.
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.
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.
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
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.