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 に答える