#requireメソッド
送信されたパラメーターの情報を持つparamsが、使用できるメソッド。
requireメソッドは、パラメーターからどの情報を取得するか、選択する。
params.require(:モデル名)
requireを使うのはパラメーターが二重ハッシュの時のみ。
[1] pry(#<OrdersController>)> params
=> <ActionController::Parameters {"authenticity_token"=>"dIFiIxMsjPdq0lATAzwoZgYl/LKtBrD1Zsoo
gqyCDoVhXGqCAQHoVSWIkvkMhuXn+ooywt50eQJiCfcCniJamQ==",
"hoge"=>"", "post_code"=>"111-1111", "shipping_area_id"=>"3", "municipality"=>"aa",
"address"=>"aa", "building_name"=>"",
"phone_number"=>"00000000000", "commit"=>"購入", "controller"=>"orders",
"action"=>"create", "item_id"=>"2"} permitted: false>
この場合だとハッシュは一つなのでrequireは使えない。
[1] pry(#<OrdersController>)> params
=> <ActionController::Parameters {"authenticity_token"=>"dIFiIxMsjPdq0lATAzwoZgYl/LKtBrD1Zso
ogqyCDoVhXGqCAQHoVSWIkvkMhuXn+ooywt50e
QJiCfcCniJamQ==","user_purchases"=>{
"hoge"=>"", "post_code"=>"111-1111", "shipping_area_id"=>"3",
"municipality"=>"aa", "address"=>"aa", "building_name"=>"",
"phone_number"=>"00000000000"}, "commit"=>"購入",
"controller"=>"orders",
"action"=>"create", "item_id"=>"2"} permitted: false>
このような場合だと二重ハッシュなのでrequireを使うことになる。
二重ハッシュになる場合はモデルを指定した時に生成される。