Rails 3仅在更改时更新序列化属性

时间:2012-04-12 09:25:48

标签: ruby-on-rails serialization

使用Rails 3我有许多包含序列化属性的模型。为了执行序列化,我目前正在使用3种不同的技术 - serialize method; activerecord store;和store configurable gem

在所有情况下,当我保存模型实例时,即使内容未更改,也会更新序列化属性。这是一个令人惊讶的发现,特别是当使用商店可配置gem作为自述文件时:

“StoreConfigurable足够聪明,可以让你的父对象知道它何时发生变化。它也不会愚蠢。只有你设置的值不同,新的或改变配置状态时才会触发更改。”

我在这里错过了一个技巧,或者如果这是预期的行为,是否有办法覆盖它?

2 个答案:

答案 0 :(得分:3)

始终保存序列化列的模型是根据this answer的预期行为。

我没有尝试过“存储可配置的宝石”,但听起来应该足够聪明才能检测到它。

答案 1 :(得分:1)

我有类似的问题所以在更新之前我正在重置所有值并让新值输入。