2010-07-15 3 views
89

Hat jemand eine vollständige Liste der Modelltypen, die bei der Erstellung eines Modellgerüsts angegeben werden müssenListe der Schienenmodelltypen

z.

foo:string 
bar:text 
baz:boolean 

etc ...

Und was ordnen diese Arten in Bezug auf den Standard-UI-Elemente zu? Textfeld, Textbereich, Optionsfeld, Kontrollkästchen, etc ...

+1

möglich Duplikat [Schienen erzeugen Modellfeld: Typ -Was sind die Optionen für field: type?] (http://stackoverflow.com/questions/4384284/rails-generate-model-fieldtype-what-are-the-options-for-fieldtype) –

Antwort

210

Die Attribute sind SQL-Typen, also die folgenden unterstützt:

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

Diese werden unter Spalte dokumentiert im Active Record API.

+0

Ihr Link wurde Tweets up (ich denke, das ist der Ausdruck). Wenn Sie mit einer authentischen Dokumentation verlinken können, wäre das Tweet, ich meine süß. Vielen Dank. – Will

+2

Ich denke, das könnte ein genauerer Link sein, jetzt http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html#method-i-column – wrburgess

+1

danke wrburgess, aktualisiert. –

37

Sie können folgende Grund Feldtypen im Modell Gerüst verwenden, werden alle in Activerecord unterstützen unterstützte Datenbanken ohne zusätzliches Juwel (MySQL, PostgreSQL, SQLite):

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

In den s caffold generator Sie können die ausländischen Referenzen auch mit dem Feldtyp :references deklarieren, was zusätzlich eine belongs_to Referenz im neuen Modell hinzufügt.

Wenn Sie Rails 4 und PostgreSQL, können Sie die Vorteile von diesen nehmen:

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

Für UI-Mapping (Modell Gerüst Datentyp -> HTML), hat das nächste Bild alle Grund Feldtypen:

Rails data types, scaffolding HTML mapping