在Rails迁移中向数据类型数组添加默认值

时间:2018-10-17 04:55:44

标签: ruby-on-rails

我试图通过迁移创建一个数组类型为Array的字段,并且确实在schema.rb文件中进行了更新。

但是,我的主要目标是为该字段(即Array)赋予固定值,该值将来不会改变。一种静态值。

我使用此方法创建了一个字段。

rails generate migration Store_detailsToAdmin store_details:string

Admin.rb文件。

serialize :store_details, Array
rake db:migrate

有人可以帮助我在此列上使用默认值和固定值吗?

1 个答案:

答案 0 :(得分:0)

将默认值设置为“ xyz”

class Admin < ApplicationRecord
  serialize : store_details, Array
  after_initialize -> { self. store_details.blank? ? self. store_details.push('xyz') : self. store_details }
end

如果数组为空,则获取默认值

admin.store_details => ["xyz"]

在其中添加另一个值

admin.store_details.push("abc")
admin.save
admin.store_details => ["xyz", "abc"]