createかupdateかを自動判断するform_forの動きを検証してみた

form_forメソッドの動き

form_forメソッドは、以下のような動きをします。

  • 引数がレコードに存在しない場合、createアクションへ送信
  • 引数がレコードに存在している場合、updateアクションへ送信

これはform_forメソッドが自動的に判断してくれています。素晴らしい!

ただ、動きを目で見てみないと理解ができない私は 即興のアプリを作って検証してみました。

検証概要
  • アプリ概要:ブログ投稿アプリ
  • アプリ詳細:ブログのタイトルと内容を投稿/編集/削除できるもの

検証結果

f:id:shounen070505:20170626092417p:plain

新規入力の場合と、編集の場合とで、HTTPメソッドがPOSTからPATCHに変わり、
呼び出されるアクションも、createからupdateに変わってますね。

form_forメソッド、おそるべし!


たのしいRuby 第5版

たのしいRuby 第5版