Die params
in einem Controller sieht aus wie ein Hash, aber es ist eigentlich eine Instanz von ActionController::Parameters
, die mehrere Methoden wie require
und permit
bietet.
Die Methode stellt sicher, dass ein bestimmter Parameter vorhanden ist, und wenn sie nicht bereitgestellt wird, gibt die Methode require
einen Fehler aus. Sie gibt eine Instanz ActionController::Parameters
für den Schlüssel zurück, der an require
übergeben wurde.
Die Methode permit
gibt eine Kopie des Parameterobjekts zurück und gibt nur die zulässigen Schlüssel und Werte zurück. Beim Erstellen eines neuen ActiveRecord-Modells werden nur die zulässigen Attribute an das Modell übergeben.
Es sieht sehr ähnlich aus wie das Whitelisting, das früher in ActiveRecord-Modellen enthalten war, aber es macht mehr Sinn, dass es im Controller ist.
Dieses Beispiel stammt direkt aus der Dokumentation, die 'permit', aber nicht' require' erklärt. –