Railsドキュメント

汎用的なフォームを生成

適応バージョン

説明

汎用的なフォームを生成
form_withの利用を推奨(Rails5.1以降はform_forとform_tagはform_withに統合されたため)

使い方

form_tag(リンク先={}, オプション={}, HTML属性={} or イベント属性={}, ブロック引数)

オプション

オプション 説明
:multipart マルチパートを指定
:method HTTPメソッドを指定
:authenticity_token 認証トークンを指定
:remote Ajaxでリンクを処理
:enforce_utf8 utf8用の非表示用を出力するか?

HTML属性

HTML属性 説明
:name 名称
:size サイズ。ピクセル数で指定
:readonly 内容変更を禁止
:disabled 無効化
:tabindex Tabキーによる入力欄の移動順
:accesskey 移動するショートカットキー
:usemap この画像に対応させるイメージマップ
:id 要素固有の識別子
:class 要素を分類するクラス名
:title 要素の補足情報
:style 要素の補足情報
:dir 表記方向
:lang 基本言語

イベント属性

イベント属性 説明
:onclick クリックされた時
:ondblclick ダブルクリックされた時
:onmousedown マウスのボタンが押し下げられた時
:onmouseup マウスのボタンが離された時
:onmouseover カーソルが重なった時
:onmousemove カーソルが移動した時
:onmouseout カーソルが離れた時
:onkeypress キーが押されて離された時
:onkeydown キーが押し下げられた時
:onkeyup キーが離された時
:onfocus フォーカスされた時
:onblur フォーカスを失った時
:onselect 入力欄のテキストが選択された時
:onchange フォーカスを失う際に値が変化していた時

汎用的なフォームを生成

form_tag('/users') do
end
#=> <form action="users" method="put"></form>

putメソッド指定

form_tag('/users', method: :put) do
end
#=> <form action="users" method="post"></form>

multipart指定

form_tag('/users', multipart: true) do
end
#=> <form action="users" method="post" enctype="multipart/form-data"></form>

JavaScriptを使う

form_tag('/posts', remote: true)
#=> <form action="/posts" method="post" data-remote="true">

外部リソースへのForm

form_tag('http://far.away.com/form', authenticity_token: "cf50faa3fe97702ca1ae")

ソースコード