Formうぃずトップ画.png


form_withを理解するとめちゃモテ委員長になれます。 みんなもマスターしよう。

Form_withあれこれ

簡単な特徴

1:フォームの作成を簡単にするメソッドですよ

スクリーンショット 2025-10-18 12.09.10.png

2:Rails5.1からの新機能ふえたよ

今まではモデル有り、無しで

form_for →モデルあり form_tag →モデルなし

で切り替えが必要だったがこのform_withのおかげで 統一されることになりました。わーい!

Form_withの特徴

1. 自動判断機能

# 新規作成の場合
@board = Board.new
@board.persisted?# => false
# form_with は POST メソッドを使用

# 更新の場合
@board = Board.find(1)
@board.persisted?# => true
# form_with は PATCH メソッドを使用

2. デフォルトでAjax対応

<!-- Rails 7では Turbo が自動で適用される -->
<%= form_with model: @boarddo |f| %>
<!-- 非同期で送信される -->
<%end %>

<!-- 従来のHTTPリクエストにしたい場合 -->
<%= form_with model: @board, local: truedo |f| %>
<!-- 同期で送信される -->
<%end %>

3. CSRF保護

<!-- 自動でCSRFトークンが挿入される --><input type="hidden" name="authenticity_token" value="...">