[RUBY] [Starke Parameter]

Was sind starke Parameter

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

Ich werde erklären, welche starken Parameter beim Definieren von Aktionen in der Steuerung auftreten.

Es gibt eine Beschreibung von create (tweet_params) im Ausführungsinhalt der create-Aktion, aber dieses Argument, tweet_params, wird in der privaten Methode definiert.

private Methode

Privat ist eine Methode, die nicht von außerhalb der Klasse aufgerufen werden kann. Die Verwendung der privaten Methode bietet zwei Vorteile:

1. Isolieren Sie Methoden, die problematisch sind, wenn sie von außerhalb der Klasse aufgerufen werden

Da einige Methoden einen Fehler verursachen, wenn sie von außerhalb der Klasse aufgerufen werden, ist es möglich, den Fehler im Voraus zu verhindern, indem sie isoliert werden.

2. Verbessern Sie die Lesbarkeit des Codes

Durch eine klare Trennung der privaten und nicht privaten Teile wird die Lesbarkeit des Codes verbessert.

In dieser privaten Methode Eine Methode namens tweet_params ist definiert und der Verarbeitungsinhalt ist wie folgt.

ストロング2.png

Nehmen Sie das Tweet-Modell als Argument der Anforderung Es nimmt: Name: Bild: Text als Argument der Erlaubnis.

Dies bedeutet, dass von den aus dem Formular gesendeten Daten nur die Parameter mit dem unter allow :: name: image: text angegebenen Schlüssel empfangen werden.

Der Mechanismus, der nur die Parameter mit diesem angegebenen Schlüssel empfängt, wird als starker Parameter bezeichnet.

Durch die Angabe starker Parameter kann verhindert werden, dass nicht spezifizierte Parameter gesendet werden, und es werden unbeabsichtigte Datenaktualisierungen verhindert.

Wenn Sie beispielsweise einen Parameter senden, um das Anmeldekennwort einer anderen Person zu aktualisieren, können Sie das Kennwort einer anderen Person ohne Erlaubnis ändern. Sie sollten starke Parameter verwenden, um dies zu verhindern.

Schauen Sie sich den Code noch einmal an

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

Da die create-Methode tweet_params als Argument angibt, werden neue Daten über die tweet_params-Methode erstellt und gespeichert. Daher hat der neue Tweet in diesem Fall immer nur den im Argument allow angegebenen starken Parameter.

Recommended Posts

[Starke Parameter]
Schienen Starke Parameter
[Schienen] Was sind starke Parameter?
Über erfordern beim Einstellen starker Parameter
[Schienen] Fügen Sie starke Parameter hinzu, um sie zu entwickeln
CheckStyle-Parameter
[Rails] So erhalten Sie den Inhalt starker Parameter