2010-07-15 6 views
89

Est-ce que quelqu'un a une liste complète des types de modèles à spécifier lors de la génération d'un échafaudage de modèle?Liste des types de modèles de rails

foo:string 
bar:text 
baz:boolean 

etc ...

Et qu'est-ce que ces types de carte en termes d'éléments de l'interface utilisateur par défaut? Champ de texte, zone de texte, bouton radio, case à cocher, etc ...

+1

double possible des rails [génèrent champ modèle: le type -Quels sont les options pour champ: type] (http://stackoverflow.com/questions/4384284/rails-generate-model-fieldtype-what-are-the-options-for-fieldtype) –

Répondre

210

Les attributs sont des types SQL, d'où les éléments suivants sont pris en charge:

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

Ceux-ci sont documentés dans colonne dans le Active Record API.

+0

Votre lien a tweets (je pense que c'est l'expression). Si vous pouvez créer un lien vers une documentation authentique, ce serait tweet je veux dire doux. Merci. – Will

+2

Je pense que cela pourrait être un lien plus précis, maintenant http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html#method-i-column – wrburgess

+1

grâce wrburgess, mis à jour. –

37

Vous pouvez utiliser les types de champs suivants dans un échafaudage de modèle, tous sont pris en charge dans les bases de données supportées ActiveRecord sans petit bijou supplémentaire (MySQL, PostgreSQL, SQLite):

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

Dans les s Générateur de caffold vous pouvez également déclarer les références étrangères en utilisant le type de champ :references, qui ajoute en plus une référence belongs_to dans le nouveau modèle.

Si vous utilisez Rails 4 et PostgreSQL, vous pouvez profiter de ces derniers:

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

Pour la cartographie de l'interface utilisateur (modèle type de données d'échafaudage -> HTML), l'image suivante a tous les types de terrain de base:

Rails data types, scaffolding HTML mapping

Questions connexes