Rails 5-空数组未序列化为NULL吗?

时间:2019-02-06 13:10:30

标签: ruby-on-rails

根据Rails 5 documentation,应将一个空数组序列化为NULL:

  

如果是Hash,则为{}的空对象,如果是Array,则为[]的空对象将始终保留为null。

也许我弄错了,但是我的空数组在数据库中始终序列化为--- [](YAML)或[](JSON)。除此之外,序列化还可以正常工作,并且符合预期。

我在问,因为我们当前正在运行Rails 4,但是我们可能想切换到Rails5。但是随后行为将从[]更改为NULL(因为在Rails 4文档中缺少上面的句子)。因此,我想到了为自己的Rails 4编写序列化程序,该序列化程序也使用NULL而不是[],但是看起来好像没有必要。

出于完整性考虑:

class TestModel < ActiveRecord::Base  
    serialize :test_attribute, JSON #doesn't matter if it's JSON, Hash or YAML
end

TestModel.create(test_attribute: [])

有什么想法吗?

0 个答案:

没有答案