Список типов моделей Rails

112

Есть ли у кого-нибудь полный список типов моделей, которые должны быть указаны при создании строительных лесов модели

например

foo:string 
bar:text 
baz:boolean

и т.д...

И что эти типы соответствуют элементам пользовательского интерфейса по умолчанию? Текстовое поле, текстовая область, переключатель, флажок и т. Д.

Гордон Поттер
источник

Ответы:

249

Атрибуты являются типами SQL, поэтому поддерживаются следующие:

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

Они описаны под колонки в Active Record API .

Баярд Рандель
источник
2
Ваша ссылка разошлась в Твиттере (я думаю, это фраза). Если вы можете ссылаться на какую-то подлинную документацию, это будет твит, я имею в виду сладкий. Спасибо.
3
Я думаю, что это может быть более точная ссылка, теперь api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/…
Рэнди Берджесс
1
Где здесь: ссылки? Это конкретная база данных?
Erhannis
Я хочу добавить для тех, кто читает в будущем, что при создании миграции и т. д. car: ссылки очень удобны для создания внешнего ключа car_id.
BKSpurgeon
1
и теперь он здесь: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/… - я обновил ответ
Джон
47

Вы можете использовать следующие основные типы полей в каркасах модели, все они поддерживаются в базах данных, поддерживаемых ActiveRecord, без каких-либо дополнительных гемов (MySQL, PostgreSQL, SQLite):

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

В генераторе скаффолда вы также можете объявить внешние ссылки, используя :referencesтип поля, который дополнительно добавляет belongs_toссылку в новую модель.

Если вы используете Rails 4 и PostgreSQL, вы можете воспользоваться этим:

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

Для отображения пользовательского интерфейса (тип данных каркаса модели -> HTML) следующее изображение имеет все основные типы полей:

Типы данных Rails, отображение HTML в каркасах

Эду Ломели
источник
Rails 5 в PostgreSQL: вы можете использовать add_column :table_name, :field_name, :inetсоздание столбца для хранения IP-адресов. См. Например. postgresqltutorial.com/postgresql-data-types
MSC