【Rails】form_withでよく使うフォームまとめ

form.text_field

一行テキストを入力するためのフォーム

size(フォーム幅を指定) や maxlength(入力可能な最大文字数を指定) といったオプションを使用できる。 size を指定しない場合、デフォルトは幅20文字となっている。

<%= form.text_field :title, class: "title", maxlength: 15 %>

form.text_area

複数行テキストを入力するためのフォーム

size(フォーム幅を指定) や maxlength(入力可能な最大文字数を指定) といったオプションを使用できる。 size を指定しない場合、デフォルトは幅40文字,高さ10行となっている。

<%= form.text_area :text, class: "text", size: " 30 x 20 " %>

form.number_field

数字入力専用のフォーム 数字を増減させるためのボタンが利用できる。

size(フォーム幅を指定)に加えて、min(最小値の設定)とmax(最大値の設定)オプションを使用できる。

<%= form.number_field :age, class: "age", min: 18, max: 60 %>

form.file_field

画像などの添付ファイル選択できるフォーム

<%= form.file_field :image, class: "icon-image" %>
labelを使ってアイコン画像を変更する

Font Awesomeを使う。※Gemの導入必要

Font Awesome

<%= form.label :image, for: “file-input”, class: “fa fa-file-picture-o” do %>
<%= form.file_field :image, id: “file-input”, style: "display: none;" %>

labelを使って、クラス名にFont Awesomeのアイコンデータを指定 ポイントは、 * labelのfor属性の値とfile_fieldのidの値を一致させること * file_fieldは見せないようにstyleを設定しておくこと

form_submit

フォーム送信ボタン

<%= form.submit "送信" %>

終わりに

今までの実装で僕が使ってきた主要フォームについてまとめました。 form_withなどのヘルパーメソッドは安全かつ簡単に入力フォーム実装ができるのでモジュール等の理解も深めて、上手く使っていけるようになりたいと思いました。 Railsドキュメントすごい

railsdoc.com