[RAILS] Über die Angelegenheit, die durch "param fehlt oder der Wert ist leer:" verwirrt wurde.

Hintergrund

Beim Erstellen der DM-Funktion begegnet Eintrag ist eine Tabelle zum Verwalten von Benutzern, die den Chatraum betreten Der Raum ist ein Zwischentisch zum Chatten

Fehlerinhalt

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

Gibt an, dass param im Eintrag nicht vorhanden ist oder der Wert von param leer ist.

Gelöste Antwort

(1) Löschen Sie die Methode require des Parameters strong (2) Es wird nur die Genehmigungsmethode beschrieben

Was ist ein starker Parameter?

Beim Senden von Daten aus einem Formular Es gibt ein Sicherheitsproblem namens "Sicherheitslücke bei Massenzuweisungen". Wenn beispielsweise zum Zeitpunkt der Datenübertragung eine nicht autorisierte Anforderung gestellt wird, Die Daten können von den erwarteten abweichen.

➡︎ Ein Mechanismus, um diese Sicherheitsanfälligkeit zu verhindern. Durch Angabe des Spaltennamens, der die Registrierung und Aktualisierung für jede Methode im Voraus ermöglicht, Wenn nicht autorisierte Spaltendaten gesendet werden, werden diese diskriminiert und von Registrierungs- und Aktualisierungsaktionen ausgeschlossen.

erfordern Methode

Extrahieren Sie nur den Wert, der einem bestimmten Schlüssel in params zugeordnet ist. Der Schlüsselname des Werts, den Sie abrufen möchten, muss im Argument angegeben werden.

Genehmigungsmethode

Ruft nur die Werte der zulässigen Spalten ab. Der Spaltenname für diesen Zweck muss im Argument angegeben werden. Wenn in params eine nicht autorisierte Spalte vorhanden ist, werden die Spaltendaten als nicht erfasst behandelt und ignoriert.

Zusammenführungsmethode

Verbindet Hashes (ein Array mit Schlüsseln und Werten). Zum Beispiel, wenn es einen Wert gibt, der nicht in den empfangenen Parametern enthalten ist, den Sie aber zusammen einschließen möchten.

private Methode

Begrenzen Sie den Aufruf jeder Methode. Daher kann verhindert werden, dass es von der Steuerung als Aktion erkannt wird.

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

Über die Angelegenheit, die durch "param fehlt oder der Wert ist leer:" verwirrt wurde.
Über die Sache, dass ich süchtig danach war, wie man Hashmap benutzt
Über die Angelegenheit, die tendenziell mit ARG von Dockerfile verwechselt wird, einem mehrstufigen Build
[Android Studio] Über die Tatsache, dass die Entwurfsansicht bei Verwendung von TextClock nicht angezeigt wird
Über die Sache, dass hidden_field wahnsinnig benutzt werden kann