form_withの使い方
form_with
新しいバージョンの rails なら form_for, form_tag
は使用せずに form_with
を使う事ができる。
モデルの有無で書き方が変わる。
モデルが有るとき
form_with model: 'モデル名' do |form|
# 中身
end
モデルが無いとき
- URL で指定する
form_with model: 'URL' do |form|
# 中身
end
- PATH で指定する
form_with model: 'PATH' do |form|
# 中身
end
オプション
よく使うもの。
オプション | 説明 | デフォルト値 |
---|---|---|
:url | URL を指定 | - |
:method | HTTP メソッド | POST |
:local | リモート送信を無効 | false |
URL からフォームを作成 ( form_for 的な使い方 )
= form_with url :posts_path do |f|
= f.text_field :title
生成される HTML。
<form action="/pots" method="post" data-remote="true">
<input type="text" name="title">
</form>
モデルを指定してフォームを作成 ( form_for 的な使い方 )
= form_with model: Post.new do |f|
= f.text_field :title
生成される HTML。
<form action="/pots" method="post" data-remote="true">
<input type="text" name="post[title]">
</form>