使用Active Record

时间:2016-10-22 00:20:29

标签: ruby-on-rails postgresql activerecord carrierwave postgresql-9.4

我知道这个问题可能听起来很复杂,但我发现的解决方案都没有解决我的问题。

我有一个名为pet with model column的模型,这是我的架构:

t.string "photos", default: [], array: true

我没有在班上使用序列化方法,因为很多其他sources证实它没有必要。

这是我的目标:

#<Pet id: 9, name: nil, age: nil, vaccinated: nil, male: nil, pet_description: nil, additional_info: nil, size: nil, neutered: nil, classified_id: nil, created_at: "2016-10-21 23:36:37", updated_at: "2016-10-21 23:55:50", kind: nil, photos: []>

无论我做什么,我都无法坚持使用新的照片阵列:

UPDATE "pets" SET "updated_at" = $1, "photos" = $2 WHERE "pets"."id" = $3  [["updated_at", 2016-10-21 23:51:30 UTC], ["photos", "{}"], ["id", 9]]

我已经尝试了多种持久方式,like

model.array << element
model.array_will_change!
model.save!  

甚至(like this guy suggested,以及此other guy):

update_attributes locations: locations + [ place ]

并且它们似乎都不起作用。

使用Postgres命令行我能够保存和更新数组而没有任何问题,但这个问题似乎与活动记录有关。

activerecord(5.0.0.1) postgres(9.6.0.0)

非常感谢: - )

0 个答案:

没有答案