Rails 以 JSON 数组形式保存到 Postgres 数据库时删除数组中的最后一个值

Rails dropping last value in array when saving to Postgres database as JSON array

我正在使用 Rails 和 Postgres 构建网络应用程序。我正在尝试将一个数组保存到我的数据库中 table,它只会删除数组中的最后一个值。

例如,如果我的数组是:

a= [10,12,14,16]

我愿意 @table.column = a.json

当我执行 byebug a.json = [10,12,14,16] 时,但是如果我得到 @table.column 的值,它等于 [10,12,14]。我保存到数据库中的所有数组都会发生这种情况。

列架构是:

t.text "name", default: [], array: true

Screenshot of byebug for my code

尝试 serialize 实例 public 方法,因此在您的模型中执行:

serialize :steves_journey_passed, Array

然后,在没有 .to_json 方法的情况下重试保存数组。

希望对您有所帮助!