私は、製品のオブジェクトの内部に位置している履歴項目の配列を持っている:オブジェクト内の配列に対する変更をどのように保持するのですか?
class Product
include Mongoid::Document
include Mongoid::Paranoia
include Mongoid::Timestamps
...
embeds_many :modification_histories
マイビズルールは最後の120件の履歴が保存されていることです。新しいものが追加されるときに、私は古いものをソートし、配列ポップ:これは正常に動作しているようだ
if self.modification_histories.size >= 120
self.modification_histories.sort! { |x,y| y.date <=> x.date }
while self.modification_histories.size >= 120
self.modification_histories.pop
end
end
を、私はそのメソッドの呼び出しや歴史配列の後にブレークポイントを入れているです正しいサイズ。しかし、オブジェクト(self.save!
)を保存してリロードすると、ヒストリ配列は変更されません。私は何が間違っているのか分かりません。
gem "mongoid", "~> 2.4"