在哪里可以找到可以在Ruby on Rails 4中使用的数据类型列表? 如
text
string
integer
float
date
我一直在学习新的东西,我很想有一个我可以轻易参考的清单。
答案 0 :(得分:621)
以下是所有Rails 4(ActiveRecord迁移)数据类型:
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:bigint
:primary_key
:references
:string
:text
:time
:timestamp
来源:http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
这些与Rails 3相同。
如果你使用PostgreSQL,你也可以利用这些:
:hstore
:json
:jsonb
:array
:cidr_address
:ip_address
:mac_address
如果您使用not-PostgreSQL数据库运行应用程序,它们将存储为字符串。
编辑,2016年9月19日:
Rails 4中有a lot more个postgres特定数据类型,Rails 5中有even more。
答案 1 :(得分:232)
您可能还会发现通常了解这些数据类型的用途很有用:
:string
- 适用于小型数据类型,例如标题。 (Should you choose string or text?):text
- 用于较长的文本数据,例如信息段落:binary
- 用于存储图像,音频或电影等数据。:boolean
- 用于存储真值或假值。:date
- 仅存储日期:datetime
- 将日期和时间存储到列中。 :time
- 仅限时间:timestamp
- 用于将日期和时间存储到列中。(What's the difference between datetime and timestamp?):decimal
- 用于小数(example of how to use decimals)。:float
- 用于小数。 (What's the difference between decimal and float?):integer
- 适用于整数。:primary_key
- 唯一标识表中每一行的唯一键还有用于创建关联的引用。但是,I'm not sure this is an actual data type。
PostgreSQL中提供的新Rails 4数据类型:
:hstore
- 将键/值对存储在单个值(learn more about this new data type):array
- 特定行中的数字或字符串排列(learn more about it and see examples):cidr_address
- 用于IPv4或IPv6主机地址:inet_address
- 用于IPv4或IPv6主机地址,与cidr_address相同,但它也接受网络掩码右侧非零位的值:mac_address
- 用于MAC主机地址另外,这里有关于迁移的官方指南:http://edgeguides.rubyonrails.org/migrations.html
答案 2 :(得分:150)
答案 3 :(得分:77)
您可以通过以下方式随时访问此列表(即使您无法访问Internet):
rails generate model -h
答案 4 :(得分:5)
Rails4为Postgres添加了一些数据类型。
例如,railscast#400命名其中两个:
Rails 4支持Postgres中的本机数据类型,我们将在这里展示其中的两个,尽管支持更多:array和hstore。我们可以将数组存储在字符串类型列中,并指定hstore的类型。
此外,您还可以使用cidr,inet和macaddr。有关更多信息: