【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の導入必要
<%= 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ドキュメントすごい