技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

form_for(@user)を使ってフォームを構成すると時にPOSTかPATCHリクエストを送る判断方法

form_for(@user)を使ってフォームを構成すると時にPOSTかPATCHリクエストを送る判断方法

Railsでform_for ヘルパーを使うときにPOSTかPATCHリクエストを判断方法が良く分からずに曖昧な感じでしたが、以下の@user.new_record?がtrueのときにはPOSTを、falseのときにはPATCHを使うらしいです。

例えば、

$ rails console
>> User.new.new_record?
=> true
>> User.first.new_record?
=> false

2行目の場合は返り値がtrueなのでPOSTリクエスト。 4行目の場合は返り値がfalseなのでPATCHリクエスト。 になります。

まとめ

Raisの黒魔術?で勝手に便利なことを色々してくれますが。 なぜそうなるのかを理解するところまで理解を落とし込むことが大事ですね!