Elenco dei tipi di modello di rotaie


112

Qualcuno ha un elenco completo dei tipi di modello da specificare durante la generazione di uno scaffolding del modello

per esempio

foo:string 
bar:text 
baz:boolean

eccetera...

E a cosa mappano questi tipi in termini di elementi dell'interfaccia utente predefiniti? Campo di testo, area di testo, pulsante di opzione, casella di controllo, ecc ...


Risposte:


249

Gli attributi sono di tipo SQL, quindi sono supportati i seguenti:

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

Questi sono documentati in colonna nella API Active Record .


2
Il tuo link è stato twittato (penso che sia la frase). Se puoi collegarti a una documentazione autentica, sarebbe un tweet, intendo dolce. Grazie.

3
Penso che questo potrebbe essere un collegamento più preciso, ora api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/…
Randy Burgess

1
Dove: i riferimenti si inseriscono in questo? È specifico del database?
Erhannis

Vorrei aggiungere per coloro che leggeranno in futuro che quando si crea una migrazione ecc. car: i riferimenti sono molto utili per creare una chiave esterna car_id.
BKSpurgeon


47

È possibile utilizzare i seguenti tipi di campo di base nello scaffolding del modello, tutti sono supportati nei database supportati da ActiveRecord senza alcuna gemma aggiuntiva (MySQL, PostgreSQL, SQLite):

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

Nel generatore di scaffold puoi anche dichiarare i riferimenti esterni usando il :referencestipo di campo, che aggiunge un belongs_toriferimento al nuovo modello.

Se usi Rails 4 e PostgreSQL, puoi trarne vantaggio:

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

Per la mappatura dell'interfaccia utente (tipo di dati scaffold modello -> HTML), l'immagine successiva ha tutti i tipi di campo di base :

Tipi di dati Rails, mappatura HTML di scaffolding


Rails 5 su PostgreSQL: puoi usare add_column :table_name, :field_name, :inetcreate a column per memorizzare gli indirizzi IP. Vedi ad es. postgresqltutorial.com/postgresql-data-types
MSC
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.