在哪里可以找到Ruby on Rails 4中使用的数据类型列表? 如

文本 字符串 整数 浮动 日期

我一直在学习新的东西,我想有一个清单,我可以很容易地参考。


当前回答

你可以在任何时候访问这个列表(即使你没有互联网接入):

rails generate model -h

其他回答

重要的是,不仅要知道类型,还要知道这些类型到数据库类型的映射:


新增源代码-使用Rails进行敏捷Web开发4

以下是Rails 4 (ActiveRecord迁移)的所有数据类型:

:二进制 :布尔 :日期 : datetime :小数 :浮 :整数 :长整型数字 : primary_key 引用: :字符串 :文本 :时间 :时间戳

来源:http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html method-i-add_column 这些与Rails 3相同。

如果你使用PostgreSQL,你也可以利用这些:

: hstore : json : jsonb :数组 : cidr_address : ip_address : mac_address

如果你使用非postgresql数据库运行你的应用程序,它们被存储为字符串。

更多的PostgreSQL数据类型

Rails 4 Rails 5 Rails 6 Rails 7

你可以在任何时候访问这个列表(即使你没有互联网接入):

rails generate model -h

Rails4为Postgres添加了一些数据类型。

例如,railscast #400命名了其中的两个:

Rails 4支持Postgres中的原生数据类型,这里我们将展示其中两种,尽管还支持更多:array和hstore。我们可以将数组存储在string类型的列中,并为hstore指定类型。

此外,您还可以使用cidr, inet和macaddr。欲了解更多信息:

https://blog.engineyard.com/2013/new-in-rails-4

你可能还会发现,大致了解这些数据类型的用途是有用的:

:string - is for small data types such as a title. (Should you choose string or text?) :text - is for longer pieces of textual data, such as a paragraph of information :binary - is for storing data such as images, audio, or movies. :boolean - is for storing true or false values. :date - store only the date :datetime - store the date and time into a column. :time - is for time only :timestamp - for storing date and time into a column.(What's the difference between datetime and timestamp?) :decimal - is for decimals (example of how to use decimals). :float - is for decimals. (What's the difference between decimal and float?) :integer - is for whole numbers. :primary_key - unique key that can uniquely identify each row in a table

还有用于创建关联的引用。但是,我不确定这是一个实际的数据类型。

PostgreSQL提供了新的Rails 4数据类型:

:hstore—在单个值中存储键/值对(了解更多关于这种新数据类型的信息) :array -在特定行的数字或字符串的排列(了解更多关于它的信息,请参阅示例) :cidr_address—用于IPv4或IPv6主机地址 :inet_address -用于IPv4或IPv6主机地址,与cidr_address相同,但它也接受网络掩码右侧非零位的值 :mac_address -用于MAC主机地址

在这里和这里了解更多关于地址数据类型的信息。

另外,这里有关于迁移的官方指南:http://edgeguides.rubyonrails.org/migrations.html