gpt4 book ai didi

ruby-on-rails - ActiveRecord 对象的 Ruby dup 方法

转载 作者:行者123 更新时间:2023-12-02 22:43:47 24 4
gpt4 key购买 nike

谁能给我解释一下 AR 对象的这种行为:

u = User.first
uu = u.dup

uu == u #=> true
u == uu #=> false

为什么后者不是真的?

最佳答案

这是因为ActiveRecord::Base#==如果第二个对象是新记录,则返回 false。由于 uu.new_record?true,当执行 u == uu 时它返回 false;但是 u.new_record?false,所以 uu == u 不会失败。

这种行为自 Rails 3.0 以来发生了变化,u == uuuu == u 将在 Rails 3.2 中返回 false(并且可能是 3.1).

关于ruby-on-rails - ActiveRecord 对象的 Ruby dup 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10343073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com