Rails2.1 bug serialized 属性不能被dirty check

把Rails从2.0.2升级到了2.1,跑了一下JavaEye的单元测试代码,发现了一个很奇怪的错误:某个serialized 属性无法被持久化到数据库,经过一番查找,结果发现是Rails 2.1引入的partial update和dirty object check导致的bug:
http://rails.lighthouseapp.com/projects/8994/tickets/360-dirty-tracking-on-serialized-columns-is-broken

在Rails团队解决这个bug之前,一个临时的解决方法是手工调用serialized_name_will_change!方法,告知这个属性将会被改变。

从milestone上看这个问题是2.1.1版本还未解决的最后一个issue了,大家不妨等2.1.1出来再升级。

你可能感兴趣的:(单元测试,Rails,360)