新しいバージョンの rails なら form_for, form_tag
は使用せずに form_with
を使う事ができる。
モデルの有無で書き方が変わる。
form_with model: 'モデル名' do |form|
# 中身
end
form_with model: 'URL' do |form|
# 中身
end
form_with model: 'PATH' do |form|
# 中身
end
よく使うもの。
オプション | 説明 | デフォルト値 |
---|---|---|
:url | URL を指定 | - |
:method | HTTP メソッド | POST |
:local | リモート送信を無効 | false |
= 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_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>