Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 比较对象或仅比较ID_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 比较对象或仅比较ID

Ruby on rails 比较对象或仅比较ID,ruby-on-rails,ruby,Ruby On Rails,Ruby,在比较像这样的对象时是否有性能提升 current_user.id == @user.id 与此相比 current_user == @user 还有什么最佳实践理由可以让您在不考虑性能的情况下选择其中一个而不是另一个?是的,但几乎没有。这是否: def ==(comparison_object) super || comparison_object.instance_of?(self.class) && id.present? &&

在比较像这样的对象时是否有性能提升

current_user.id == @user.id
与此相比

current_user == @user
还有什么最佳实践理由可以让您在不考虑性能的情况下选择其中一个而不是另一个?

是的,但几乎没有。这是否:

def ==(comparison_object)
  super ||
    comparison_object.instance_of?(self.class) &&
    id.present? &&
    comparison_object.id == id
end
它本质上比较
id
s,但确保对象的类型相同,这可能是您想要的,因为例如,如果只比较
id
s,它们可能是相同的,即使一个是
用户
另一个是
产品

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