カラム型と入力フォームの一覧
カラムに対して、入力フォームの型が決まっているのは知らなかったのでまとめます。
(カラム型と入力フォームが違っても機能はします。ただルールがあるよ!ということです)
データベースのカラムの型 -----> 入力フォームの型
t.integer -----> form.number_field
t.float -----> form.number_field
t.decimal -----> form.number_field
t.string -----> form.text_field
t.text -----> form.text_area
t.date -----> form.date_field
t.time -----> form.time_field
t.datetime -----> form.datetime_field
t.timestamp -----> form.datetime_field
t.boolean -----> form.check_box
追加の説明:
t.integer, t.float, t.decimalは数値を扱うカラム型で、対応するフォームはform.number_fieldが適しています。
t.stringは短めの文字列、
t.textは長めのテキストを扱うカラム型で、それぞれform.text_field, form.text_areaが対応します。
t.date, t.time, t.datetime, t.timestampは日付や時刻を扱うカラム型で、
対応するdate_field, time_field, datetime_fieldを使用します。
t.booleanは真偽値を扱うカラム型で、チェックボックスのform.check_boxが対応します。
これらを対応づけることで、データベースのスキーマ定義に合わせて適切な入力フォームを使い分けることができます
Discussion