Rails模型类型列表


112

生成模型支架时,是否有人指定了模型类型的完整列表?

例如

foo:string 
bar:text 
baz:boolean

等等...

这些类型根据默认的UI元素映射到什么?文本字段,文本区域,单选按钮,复选框等...


Answers:


249

这些属性是SQL类型,因此支持以下内容:

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

这些记录下的活动记录API


2
您的链接被推特了(我想就是这个短语)。如果您可以链接到一些真实的文档,那就鸣叫,我的意思是甜蜜的。谢谢。

3
我觉得这可能是一个更准确的链接,现在api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/...
兰迪·伯吉斯

1
:reference在哪里适合?它是数据库特定的吗?
Erhannis

我希望为以后的阅读提供补充,在创建迁移等时car:references对于创建car_id外键非常方便。
BKSpurgeon '16


47

您可以在模型支架中使用以下基本字段类型,所有受ActiveRecord支持的数据库均支持这些类型,而无需任何额外的gem(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

对于UI映射(模型支架数据类型-> HTML),下一张图像具有所有基本字段类型:

Rails数据类型,脚手架HTML映射


PostgreSQL上的Rails 5:您可以使用add_column :table_name, :field_name, :inetcreate column来存储IP地址。参见例如。postgresqltutorial.com/postgresql-data-types
MSC
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.