ストロングパラメーターについて。
ストロングパラメーターとは、指定したキーを持つパラメーターのみを受け取るように制限するもの。
主に、require,permidメソッドを利用して設定する。
require(必要とする)メソッド。
送信されたパラメーターの情報を持つparamsが使用できるメソッド。
パラメーターからどの情報を取得するか選択する。
ストロングパラメーターとして使用する場合、主にモデル名を指定する。
Params.require(:モデル名)
params[:モデル名]としても、同じ情報を取得することができるが、requireメソッドを使うことで、意図しないパラメーターであった場合にエラーとして返すことができ、原因特定や、ユーザーにエラーを示すなどの対応ができる。
permit(許可)メソッド。
requireメソッドと同様に、paramsが使用できるメソッド。
取得したいキーを指定でき、指定したキーと値のセットのみを取得する。
params.require(:モデル名).parmit(:キー名, :キー名)
Permitメソッドでprams.requireの内容からキーを指定すると、それ以外のキーがあっても値を受け付けない。
ストロングパラメーターはprivateメソッドとしてコントローラーに定義する。