共通事項
名前の指定
タグのid/name
やラベルのfor
に指定する識別子の指定方法に、文字列とシンボルの2種類がある。
text_field_tag(:name)
text_field_tag("name")
いずれも生成されるタグはid/name
に文字列が設定される。
<input type="text" id="name" name="name">
基本系
form_tag
form_tag
はfom
タグを生成する(Railsdoc)。
form_tag(action [option/HTML_attr/event]) do
end
アクションを指定
1 2 3 4 5 |
<%= form_tag('/users') do %> <% end %> ↓ <form action="users" method="post"> </form> |
メソッドを指定
1 2 3 4 5 |
<%= form_tag('/users', method: :put) do %> <% end %> ↓ <form action="users" method="put"> </form> |
multipart
指定
1 2 3 4 5 |
<%= form_tag('/users', multipart: true) do %> <% end %> ↓ <form action="users" method="post" enctype="multipart/form-data"> </form> |
submit_tag
submit_tag
はinput
タグのtype="submit"
を生成する(Railsdoc)。
submit_tag([button_name , option/HTML_attr/event])
ボタン名を指定:第1引数はボタン名
1 2 |
<%= submit_tag("送信") %> <input type="submit" name="commit" value="送信" data-disable-with="送信"> |
無効化
1 2 |
submit_tag("送信", disabled: true) <input disabled="disabled" name="commit" data-disable-with="送信" type="submit" value="送信"> |
POST中の表示の指定
1 2 |
submit_tag "送信", data: { disable_with: "送信中..." } <input name="commit" data-disable-with="送信中..." type="submit" value="送信"> |
label_tag
label_tag
はフォーム要素と関連付けられたラベルタグを生成する(Railsdoc)。
label_tag(id&name [, contents [, HTML_attr or event])
識別子と内容を指定
1 2 3 4 5 |
label_tag(:name, "入力してください") text_field_tag(:name) ↓ <label for="name">入力してください</label> <input type="text" id="name" name="name> |
テキスト入力系
text_field_tag
text_field_tag
はinput
タグのtype="text"
を生成する(Railsdoc)。
text_field_tag(id&name [, value, option/HTML_attr/event])
識別子のみ指定:第1引数がidとnameにセットされる
1 2 |
text_field_tag(:name) <input id="name" name="name" type="text"> |
値を指定:第2引数がvalueの値になる
1 2 |
text_field_tag(:name, "initial value") <input id="name" name="name" type="text" value="initial value"> |
識別子とプレースホルダーを指定
1 2 |
text_field_tag(:name, nil, placeholder: "Input here') <input id="name" name="name" type="text" placeholder="Input here"> |
クラス指定
1 2 |
text_field_tag(:name, nil, class: "class_name") <input id="name" name="name" type="text" class="class_name"> |