解析字符串作为数组属性的数据时,为什么ActiveRecord不在最后一个元素?

Joh*_*hir 5 postgresql ruby-on-rails rails-activerecord ruby-on-rails-5

我正在使用Postgres.我有一个带整数数组列的ActiveRecord模型,如下所示:

t.integer "foo", array: true
Run Code Online (Sandbox Code Playgroud)

如果我为它分配一个ruby数组,它按预期工作:

> @instance.foo = [6,7,8,9,1]
> @instance.foo
=> [6, 7, 8, 9, 1]
Run Code Online (Sandbox Code Playgroud)

但是,如果我分配了这个数组的字符串表示,它似乎试图解析数据,但由于某种原因它总是不用最后一个元素.

> @instance.foo = "[6,7,8,9,1]"
> @instance.foo
=> [6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

为什么会这样?