Daftar Jenis Model Rel

112

Apakah seseorang memiliki daftar lengkap jenis model yang ditentukan saat membuat perancah model

misalnya

foo:string 
bar:text 
baz:boolean

dll ...

Dan apa yang dipetakan oleh tipe ini dalam hal elemen UI default? Bidang teks, Area teks, tombol radio, kotak centang, dll ...

Gordon Potter
sumber

Jawaban:

249

Atributnya adalah tipe SQL, oleh karena itu yang berikut ini didukung:

  • :binary
  • :boolean
  • :date
  • :datetime
  • :decimal
  • :float
  • :integer
  • :primary_key
  • :string
  • :text
  • :time
  • :timestamp

Ini didokumentasikan di bawah kolom di API Rekaman Aktif .

Bayard Randel
sumber
2
Tautan Anda naik tweet (saya pikir itu frasa). Jika Anda dapat menautkan ke beberapa dokumentasi otentik, itu akan menjadi tweet yang saya maksud manis. Terima kasih.
3
Saya pikir ini mungkin tautan yang lebih akurat, sekarang api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/…
Randy Burgess
1
Dimana: referensi cocok dengan ini? Apakah itu spesifik database?
Erhannis
Saya ingin menambahkan untuk mereka yang membaca di masa depan bahwa saat membuat mobil migrasi dll: referensi sangat berguna untuk membuat kunci asing car_id.
BKSpurgeon
1
dan sekarang di sini: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/… - saya memperbarui jawabannya
John Bachir
47

Anda dapat menggunakan jenis bidang dasar berikut dalam perancah model, semua didukung dalam database yang didukung ActiveRecord tanpa permata tambahan (MySQL, PostgreSQL, SQLite):

  • :binary
  • :boolean
  • :date
  • :datetime
  • :decimal
  • :float
  • :integer
  • :primary_key
  • :string
  • :text
  • :time
  • :timestamp

Di generator scaffold Anda juga dapat mendeklarasikan referensi asing menggunakan :referencestipe kolom , yang juga menambahkan belongs_toreferensi dalam model baru.

Jika Anda menggunakan Rails 4 dan PostgreSQL, Anda dapat memanfaatkan ini:

  • :hstore
  • :array
  • :cidr_address
  • :ip_address
  • :mac_address

Untuk pemetaan UI (Tipe data scaffold model -> HTML), gambar berikutnya memiliki semua jenis bidang dasar :

Tipe data rel, pemetaan HTML perancah

Edu Lomeli
sumber
Rails 5 di PostgreSQL: Anda dapat menggunakan add_column :table_name, :field_name, :inetmembuat kolom untuk menyimpan alamat IP. Lihat mis. postgresqltutorial.com/postgresql-data-types
MSC