Lista typów modeli szyn

112

Czy ktoś ma pełną listę typów modeli, które są określone podczas generowania szkieletu modelu

na przykład

foo:string 
bar:text 
baz:boolean

itp...

A na co te typy są mapowane pod względem domyślnych elementów interfejsu użytkownika? Pole tekstowe, obszar tekstowy, przycisk opcji, pole wyboru itp.

Gordon Potter
źródło

Odpowiedzi:

249

Atrybuty są typami SQL, dlatego obsługiwane są:

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

Są one udokumentowane w kolumnie w Active Record API .

Bayard Randel
źródło
2
Twój link poszedł w górę (myślę, że to fraza). Jeśli możesz podać link do autentycznej dokumentacji, byłby to tweet, mam na myśli słodki. Dzięki.
3
Myślę, że to może być bardziej dokładny link, teraz api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/ ...
Randy Burgess
1
Gdzie to pasuje: referencje? Czy jest to specyficzne dla bazy danych?
Erhannis
dla tych, którzy czytają w przyszłości, chciałbym dodać, że podczas tworzenia samochodu do migracji itp .: odniesienia są bardzo przydatne przy tworzeniu klucza obcego car_id.
BKSpurgeon,
1
a teraz jest tutaj: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/ ... - zaktualizowałem odpowiedź
John Bachir
47

Możesz użyć następujących podstawowych typów pól w szkieletowaniu modelu, wszystkie są obsługiwane w bazach danych obsługiwanych przez ActiveRecord bez dodatkowego klejnotu (MySQL, PostgreSQL, SQLite):

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

W generatorze rusztowań można również zadeklarować referencje zagraniczne przy użyciu :referencestypu pola, co dodatkowo dodaje belongs_toreferencję w nowym modelu.

Jeśli używasz Rails 4 i PostgreSQL, możesz skorzystać z tych możliwości:

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

W przypadku mapowania interfejsu użytkownika (typ danych modelu szkieletu -> HTML) następny obraz zawiera wszystkie podstawowe typy pól:

Typy danych Railsów, mapowanie HTML szkieletów

Edu Lomeli
źródło
Rails 5 na PostgreSQL: możesz użyć add_column :table_name, :field_name, :inettworzenia kolumny do przechowywania adresów IP. Zobacz np. postgresqltutorial.com/postgresql-data-types
MSC