Lista de tipos de modelo Rails


112

Alguém tem uma lista completa de tipos de modelo que devem ser especificados ao gerar um andaime de modelo

por exemplo

foo:string 
bar:text 
baz:boolean

etc ...

E o que esses tipos mapeiam em termos de elementos de IU padrão? Campo de texto, área de texto, botão de opção, caixa de seleção, etc ...


Respostas:


249

Os atributos são tipos SQL, portanto, os seguintes são suportados:

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

Eles estão documentados na coluna da API Active Record .


2
Seu link aumentou os tweets (acho que essa é a frase). Se você puder fazer um link para alguma documentação autêntica, isso seria um tweet, quero dizer, doce. Obrigado.

3
Acho que este pode ser um link mais preciso, agora api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/…
Randy Burgess

1
Onde: as referências se encaixam nisso? É específico do banco de dados?
Erhannis,

gostaria de acrescentar para aqueles que estão lendo no futuro que ao criar um carro de migração etc .: as referências são muito úteis para criar uma chave estrangeira car_id.
BKSpurgeon


47

Você pode usar os seguintes tipos de campo básicos na estrutura do modelo, todos são suportados em bancos de dados com suporte ActiveRecord sem qualquer gem extra (MySQL, PostgreSQL, SQLite):

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

No gerador de scaffold, você também pode declarar as referências estrangeiras usando o :referencestipo de campo, que adicionalmente adiciona uma belongs_toreferência no novo modelo.

Se você usa Rails 4 e PostgreSQL, pode aproveitar as vantagens destes:

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

Para mapeamento de IU (tipo de dados de estrutura de modelo -> HTML), a próxima imagem tem todos os tipos de campo básicos :

Tipos de dados Rails, mapeamento HTML de scaffolding


Rails 5 no PostgreSQL: você pode usar add_column :table_name, :field_name, :inetcriar uma coluna para armazenar endereços IP. Veja, por exemplo. postgresqltutorial.com/postgresql-data-types
MSC
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.