form_withって何?

form_withとは

railsで情報を送信するためのヘルパーメソッド

 

form_withの使い方

①情報をデータベースに保存しない時(同期通信とする)

<%= form_with url: "パス", local: true do |form| %>

 ******

<% end %>

 

②情報をデータベースに保存する時(同期通信とする)

<%= form_with model: モデルクラスのインスタンス, local: true do |form| %>

 ******

<% end %>

 

def new

 @user = User.new

end

 

<%= form_with model: @user, url: "/users", method: :post, local: true do |form| %>

※赤字は省略可(↓で説明する自動振り分けの部分を省略せずに記述するとこのようになる)

この時、コントローラで作成したインスタンス変数が何も情報を持っていない時は自動的にcreateアクションへ、.findなどで既に情報を持っている時は自動的にupdateアクションへ振り分けられる