我试图通过迁移创建一个数组类型为Array的字段,并且确实在schema.rb文件中进行了更新。
但是,我的主要目标是为该字段(即Array)赋予固定值,该值将来不会改变。一种静态值。
我使用此方法创建了一个字段。
rails generate migration Store_detailsToAdmin store_details:string
Admin.rb文件。
serialize :store_details, Array
rake db:migrate
有人可以帮助我在此列上使用默认值和固定值吗?
答案 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"]