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 方法的情况下重试保存数组。
希望对您有所帮助!
我正在使用 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 方法的情况下重试保存数组。
希望对您有所帮助!