Rails属性可以是一个数组吗?

时间:2017-06-07 13:59:16

标签: ruby-on-rails ruby postgresql ruby-on-rails-5

我最近了解了Rails 5中的json数据类型,它允许您在PostgreSQL数据库中存储哈希。由于某种原因,我找不到Rails 5数据类型的完整列表。是否有任何类型的数据类型允许您存储数组?

这样example_record.array_datatype => ["1", "2", "3"]

1 个答案:

答案 0 :(得分:1)

确实是的。以下是向模型添加整数和字符串数组的示例迁移:

class AddToBooks < ActiveRecord::Migration
  def change
    add_column :books, :category_ids, :integer, array: true, default: [], null: false
    add_column :books, :subjects    , :text   , array: true, default: [], null: false
  end
end

对于字符串数组,请使用:text作为类型。

我强烈建议使用空数组而不是空数来表示“无数据”,此迁移可确保这一点。