ruby-on-rails – 比较对象或只是ID
发布时间:2020-12-16 19:17:02 所属栏目:百科 来源:网络整理
导读:在比较像这样的对象时是否有性能提升…… current_user.id == @user.id 与此相比…… current_user == @user 无论性能如何,还有最佳实践理由做一个而不是另一个吗? 解决方法 是的,但几乎没有. ActiveRecord::Base#== 这样做: def ==(comparison_object) su
在比较像这样的对象时是否有性能提升……
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,即使其中一个是用户而另一个是产品,它们可能是相同的. 总之,比较模型对象本身是最好的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |