ruby-on-rails – Ruby on Rails每次都会触发序列化属性的更新

ruby-on-rails – Ruby on Rails每次都会触发序列化属性的更新,第1张

概述我有一个简单的用户模型,其中包含名称和设置.每次保存用户后,AREL都会对设置列执行更新.例如: user = User.find_by_name('kevin')user.save(0.3ms) UPDATE "users" SET "updated_at" = '2011-10-20 19:58:06.363541', "settings" = '--- {}' WHERE "user 我有一个简单的用户模型,其中包含名称和设置.每次保存用户后,AREL都会对设置列执行更新.例如:

user = User.find_by_name('kevin')user.save(0.3ms)  UPDATE "users" SET "updated_at" = '2011-10-20 19:58:06.363541',"settings" = '--- {}' WHERE "users"."ID" = 1

调用save时,没有其他字段更新.这是预期的行为吗?为什么要执行更新?如果序列化内容没有改变,是否可以关闭不更改?我上传了用于创建最小案例的示例项目:

http://cl.ly/0p0j3Z3Y0L1x1I1p3Z0g

解决方法 这是预期的行为.检测序列化属性中的更改非常困难,因此每次保存时都会更新它们.

考虑以下(ruby 1.8.7)irb会话:

ruby-1.8.7-p352 :001 > x = "--- \n:b: 2\n:a: 1\n" => "--- \n:b: 2\n:a: 1\n" ruby-1.8.7-p352 :002 > y = "--- \n:a: 1\n:b: 2\n" => "--- \n:a: 1\n:b: 2\n" ruby-1.8.7-p352 :003 > x == y => false ruby-1.8.7-p352 :004 > YAML.load(x) == YAML.load(y) => true
总结

以上是内存溢出为你收集整理的ruby-on-rails – Ruby on Rails每次都会触发序列化属性的更新全部内容,希望文章能够帮你解决ruby-on-rails – Ruby on Rails每次都会触发序列化属性的更新所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1286272.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存