こんにちは!
今回はRailsでのフォームの作り方についてまとめます。
HTMLでのフォームの作り方→Railsでのフォームの作り方の順となっています。
環境
- Rails 5.2.8.1
HTMLでのフォームの作り方
form
タグ
<form> ~ </form>
でフォーム全体を囲むaction
属性でデータの送信先を指定method
属性でデータの送信方法を指定
input
タグ
<input>
を単独で使用する。開始・終了タグはないtype
属性で入力欄の種類を指定するname
属性で入力欄の名前を指定するvalue
属性でプログラムに送信するデータを指定するtype="text"
などの場合はユーザーの入力値が送信されるので設定不要
type
属性に指定できる値
値 | 種類 |
---|---|
radio |
ラジオボタン |
checkbox |
チェックボックス |
text |
1行の入力欄 |
email |
メールアドレス入力欄 |
url |
URL入力欄 |
submit |
送信ボタン |
select
タグ
<select>
で全体を囲み、<option>
で各項目を囲むname
属性は<select>
に指定するvalue
属性は<option>
に指定する
Railsでのフォームの作り方
form_tag
メソッド
form
タグを生成する- 第一引数でアクションへのパスを受け取る
- 第二引数でオプションのハッシュを受け取る
- オプションのハッシュでは、データの送信方法(get, post)や、HTMLオプション(クラス指定)を受け取る
コード例
<%= form_tag("/search", method: "get") do %> # フォームの内容を入力 <% end %>
text_field_tag
メソッド
<input type="text">
のタグを生成する- 第一引数で
name
属性を指定する- この時に指定した値が
params[名前]
で取り出せる
- この時に指定した値が
- 第一引数で
コード例
text_field_tag(:query)
# 値の取り出し params[:query]
select_tag
メソッド
select
タグを生成する- 第一引数で
name
属性を指定する - 第二引数でオプションの文字列を
options_for_select
ヘルパーを用いて指定する
- 第一引数で
コード例
options = options_for_select([ ['りんご', 1],['ばなな', 2] ])
select_tag(:fruit_id, options)
Railsのメソッドの種類
- 他にも
check_box_tag
など、_tag
の形式で様々なメソッドが存在する - それぞれが一つの
input
タグを生成する
おわりに
苦手だったフォームについて少し学習が進んだのでまとめました。HTMLのフォームの作り方と属性についての復習をすることで、Railsのメソッドとの関係が理解できるようになりました。RailsはHTMLの理解が不可欠ですね。
44/100