web-dev-qa-db-ja.com

params.fetchの強いパラメーターの使用方法

_Rails g scaffold kittens_を使用する場合、強力なパラメーター関数_kitten_params_は

_def kitten_params
  params.fetch(:kitten, {})
end
_

私は強力なパラメーターparams.require(:kitten).permit(:name, :age)に精通していますが、これにfetchメソッドを使用する方法がわかりません。

17
Andy

しかし、私はこれにfetchメソッドを使用する方法がわかりません

シンプル。これにはfetchを使用しません。足場を作成したときにプロパティを提供しなかったため、Railsはpermitセクションに何を入れるべきかを知らず、この状況に最も適したコードを生成しました。子猫フォームにいくつかのフィールドを追加したら、kitten_paramsを通常の強力なパラメータ「形状」に。

params.require(:kitten).permit(:name, :age)
23

ドキュメント に従って、次のように、最後に.permitを追加するだけです。

params.fetch(:kitten, {}).permit(:name, :age)
8
Fernando Oléa