Lista de tipos de modelos de rieles

112

¿Alguien tiene una lista completa de tipos de modelos que se deben especificar al generar un modelo de andamio?

p.ej

foo:string 
bar:text 
baz:boolean

etc ...

¿Y a qué se corresponden estos tipos en términos de elementos de interfaz de usuario predeterminados? Campo de texto, área de texto, botón de opción, casilla de verificación, etc.

Gordon Potter
fuente

Respuestas:

249

Los atributos son tipos SQL, por lo que se admiten los siguientes:

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

Estos se documentan en la columna de Active Record API .

Bayard Randel
fuente
2
Tu enlace subió a tweets (creo que esa es la frase). Si puede vincular a alguna documentación auténtica, sería un tweet, quiero decir, dulce. Gracias.
3
Creo que este podría ser un enlace más preciso, ahora api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/…
Randy Burgess
1
¿Dónde encajan las referencias en esto? ¿Es específico de la base de datos?
Erhannis
Deseo agregar para aquellos que lean en el futuro que al crear una migración, etc., las referencias car: son muy útiles para crear una clave externa car_id.
BKSpurgeon
1
y ahora está aquí: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/… - Actualicé la respuesta
John Bachir
47

Puede utilizar los siguientes tipos de campos básicos en el modelo de scaffolding, todos son compatibles con bases de datos compatibles con ActiveRecord sin ninguna gema adicional (MySQL, PostgreSQL, SQLite):

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

En el generador de andamios también puede declarar las referencias externas usando el :referencestipo de campo, que además agrega una belongs_toreferencia en el nuevo modelo.

Si usa Rails 4 y PostgreSQL, puede aprovechar estos:

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

Para el mapeo de la interfaz de usuario (tipo de datos de andamio de modelo -> HTML), la siguiente imagen tiene todos los tipos de campo básicos :

Tipos de datos de rieles, mapeo HTML de andamios

Edu Lomeli
fuente
Rails 5 en PostgreSQL: puede usar add_column :table_name, :field_name, :inetcrear una columna para almacenar direcciones IP. Ver, por ejemplo. postgresqltutorial.com/postgresql-data-types
MSC