0
0

More than 1 year has passed since last update.

updateメソッドについて

Posted at

問題

顧客情報の追加(更新)画面を作成するために、updateメソッドを使用した。
Image from Gyazo
サーバーを起動して挙動を確認するも、下記エラーが発生する。
Image from Gyazo
エラー内容によると、引数が1つ渡されるはずが、渡されていないとのことである。

updateメソッドとは

そもそも、updateメソッドは、

①変数に、更新したいレコードの情報を代入する
ex)今回では 「@customer=current_customer」
②その変数に対してupdateメソッドを使用するが、updateメソッドの引数には、変更後のデータをハッシュ形式で与える

この2つの手順を踏む必要がある。

原因

明らかであるが、updateメソッドに引数を渡していなかったことが原因だった。

解決

下記のように修正した。
Image from Gyazo
また、上記は「customer_params」というストロングパラメータを使用しているが、
Image from Gyazo
ストロングパラメータでは、返り値がハッシュであり、今回でいうと、
{last_name: 入力した値, first_name: 入力した値...}
というように返ってくることから、結果的に変更後のデータをハッシュ形式で取得することができている。
今後はこういう細やかな知識も習得していきたいと思うし、こういうことが分かればスムーズに作成することが可能になる思う。

参照

https://pikawaka.com/rails/update
https://pikawaka.com/rails/strong_parameter

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0