[RAILS] À propos du sujet qui a été confondu par "param est manquant ou la valeur est vide:".

Contexte

Rencontré lors de la création de la fonction DM Entry est un tableau pour gérer les utilisateurs qui entrent dans la salle de chat La salle est une table intermédiaire pour discuter

contenu de l'erreur

スクリーンショット 2020-10-25 19.00.47.png

Indique que param n'existe pas dans l'entrée ou que la valeur de param est vide.

Réponse résolue

(1) Supprimer la méthode require du paramètre strong (2) Seule la méthode du permis est décrite

Qu'est-ce qu'un paramètre fort?

Lors de la soumission de données à partir d'un formulaire Il existe un problème de sécurité appelé «vulnérabilité d'attribution de masse». Par exemple, si une demande non autorisée est faite au moment de la transmission des données, Les données peuvent différer de ce qui est attendu.

➡︎ Un mécanisme pour éviter cette vulnérabilité. En spécifiant le nom de la colonne qui permet l'enregistrement et la mise à jour à l'avance pour chaque méthode, Si des données de colonne non autorisées sont envoyées, elles seront discriminées et exclues des actions d'enregistrement et de mise à jour.

nécessite une méthode

Extrayez uniquement la valeur associée à une clé spécifique dans les paramètres. Le nom de clé de la valeur que vous souhaitez récupérer doit être spécifié dans l'argument.

méthode de permis

Obtient uniquement les valeurs des colonnes autorisées. Le nom de la colonne à cet effet doit être spécifié dans l'argument. Si une colonne non autorisée existe dans les paramètres, les données de la colonne seront traitées comme non acquises et ignorées.

méthode de fusion

Joint les hachages (un tableau avec des clés et des valeurs). Par exemple, s'il existe une valeur qui n'est pas incluse dans les paramètres reçus mais que vous souhaitez l'inclure ensemble.

méthode privée

Limitez l'appel de chaque méthode. Par conséquent, il peut être empêché d'être reconnu comme une action par le contrôleur.

Cause

Il semble que la méthode require ne fonctionnait pas. Je voulais appeler les données stockées dans la table d'entrée dans le contrôleur d'ambiance. Lorsque je l'ai spécifié avec la méthode require, cela n'a pas fonctionné pour une raison quelconque. A-t-il été perçu comme un double?

Références

https://stackoverflow.com/questions/47391168/param-is-missing-or-the-value-is-empty-in-nested-resource-method https://railsguides.jp/action_controller_overview.html#strong-parameters https://qiita.com/kazuki13070311/items/cdd4917af204e00de001 https://qiita.com/takuyama/items/d0f1aa073a8e2e7212f2 https://qiita.com/Takka_Log/items/32dae78d7e3892e7b051 https://qiita.com/ozackiee/items/f100fd51f4839b3fdca8 https://qiita.com/akiupdate/items/514b107090c16a2e1b47 https://qiita.com/zenfumi/items/694edc863527f91c8976

Recommended Posts

À propos du sujet qui a été confondu par "param est manquant ou la valeur est vide:".
À propos de la question pour laquelle j'étais accro à l'utilisation de hashmap
À propos du sujet qui a tendance à être confondu avec ARG de Dockerfile qui est une construction en plusieurs étapes
[Android Studio] À propos du fait que la vue de conception n'est pas affichée lors de l'utilisation de TextClock
À propos du problème que hidden_field peut être utilisé de manière insensée