ストロングパラメーター
Railsで使われるセキュリティ機構で
コントローラー内で指定されたパラメーターのみを許可する
これにより、意図しないパラメーターの受け入れなどを防ぐ
Railsのアプリにおいてデータの保存や変更を行う際には
ストロングパラメーターを用いることが定石になる
ストロングパラメーターの定義には
requireメソッドと、permitメソッドを組み合わせて使用する
require(リクワイア)メソッド
送信されたパラメーターの情報を持つparamsが、使用できるメソッド
ストロングパラメーターとして使用する場合は、主にモデル名を指定する
例:params.require(:モデルのファイル名)
取得したい情報を指定できるので、意図しないパラメーターではエラーを返す
requireメソッドによって必要なパラメーターのほとんどを取得できますが
より意図したものだけに制限するため、permitメソッドを使用して
カラムに保存したいデータのみに絞る
permit(パーミット)メソッド
paramsが使用できるメソッド
permitメソッドを使用すると、取得したいキーを指定できる
例:params.require(:モデルのファイル名).permit(:キー名, :キー名)
params.requireの内容からキーを指定すると
それ以外のキーがあっても値を受け付けない
例:params.require(:question).permit(:title, :content, :name)
questionというキーを持つパラメーターを要求
その中の"title"、"content"、"name"というキーを許可
詳細に指定して取得したいキーだけを安全に抽出する