gpt4 book ai didi

ruby-on-rails - 比较对象或仅比较 ID

转载 作者:数据小太阳 更新时间:2023-10-29 06:53:31 25 4
gpt4 key购买 nike

像这样比较对象是否有性能提升......

current_user.id == @user.id

与这个...

current_user == @user

无论性能如何,是否也有最佳实践理由来做一个而不是另一个?

最佳答案

是的,但勉强ActiveRecord::Base#==这样做:

def ==(comparison_object)
super ||
comparison_object.instance_of?(self.class) &&
id.present? &&
comparison_object.id == id
end

本质上比较 id 但确保对象属于同一类型,这可能是您想要的,因为例如,如果您只比较 id 它们 < em>可能是相同的,即使一个是User,另一个是Product

总而言之,比较模型对象本身是最好的。

关于ruby-on-rails - 比较对象或仅比较 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9558100/

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