paramsについて(formオブジェクトのハッシュの外にあるパラメーターを使う)

[1] pry(#<PurchasesController>)> params

=> <ActionController::Parameters {"authenticity_token"=>"NqmRcmfoe9upA8OR3srT7HzO4o5RCGi/dyCS2jPuhUNiHNhiEF8Z/868Byp8VXlvMF4aScovG8aZmEMPqmgnoQ==", "user_info"=>{"postal_code"=>"999-9999", "prefecture_id"=>"3", "city"=>"まち", "address_line"=>"", "building"=>"", "tel"=>"0000000000"}, "token"=>"tok_2a06ee1f23eb5808850767712ec3", "controller"=>"purchases", "action"=>"create", "item_id"=>"1"} permitted: false>

[2] pry(#<PurchasesController>)>

 

 

user_infoのハッシュ外にある"item_id"と"token"を使うためにmergeメソッドで

.merge(item_id: params[:item_id], token: params[:token])

と記述。

 

これだけだとitem_idとtokenは属性値が定義されていないエラーが出るので

attr_accessor :item_id, :token

 

これで2つのオブジェクトを使えるようになった。

 

コンソールやbinding.pryを用いるようになってようやくいろんなエラーに対応できるようになってきた気がする。