ストロングパラメーターについて。

ストロングパラメーターとは、指定したキーを持つパラメーターのみを受け取るように制限するもの。

 

主に、require,permidメソッドを利用して設定する。

 

require(必要とする)メソッド。

送信されたパラメーターの情報を持つparamsが使用できるメソッド。

パラメーターからどの情報を取得するか選択する。

ストロングパラメーターとして使用する場合、主にモデル名を指定する。

Params.require(:モデル名)

params[:モデル名]としても、同じ情報を取得することができるが、requireメソッドを使うことで、意図しないパラメーターであった場合にエラーとして返すことができ、原因特定や、ユーザーにエラーを示すなどの対応ができる。

 

permit(許可)メソッド。

 

requireメソッドと同様に、paramsが使用できるメソッド。

取得したいキーを指定でき、指定したキーと値のセットのみを取得する。

params.require(:モデル名).parmit(:キー名, :キー名)

Permitメソッドでprams.requireの内容からキーを指定すると、それ以外のキーがあっても値を受け付けない。

 

ストロングパラメーターはprivateメソッドとしてコントローラーに定義する。