0
class Car < ActiveRecord::Base
    store :options, accessors: [:bla, :blaa, :blaaa]
end

在控制台中:

Car.create(name: "aventador")

car = Car.last
=> #<Item id: 5839, name: "aventador">

car.options_changed?
=> false

car.save
(0.3ms) UPDATE "cars" SET "updated_at" = '2013-03-27 15:26:05.435320', "options" = '--- {}'

没有任何改变,商店没有被访问。为什么每次保存记录时都会重新序列化选项存储?

4

1 回答 1

0

这实际上是一个功能:https ://github.com/rails/rails/issues/8328

这样做是因为有一种方法可以更改这些存储中的数据而不将它们标记为脏数据。出于这个原因,他们选择总是重新序列化它们。将来可能会改变。

于 2013-04-20T15:03:30.150 回答