在模型上具有一个object_id/object_type(用于多态关联),对于包含Objectobject_id本身及其覆盖(http://ruby-doc.org/core-2.3.1/Object.html#method-i-object_id)有什么含义?

class Event
  belongs_to :object, polymorphic: true # object_id/object_type
end

最佳答案

当我通过一个Rails项目(包括所有gems)的整个代码库搜索object_id时,可以看到200多次匹配。仅在Rails中,这是about 50 hits

我希望记录比较会出现问题,将它们用作哈希键,将它们放入set,或者也可以使用dup将它们放入duplicating。在Rails中,在缓存,record.object_id关联,AREL,漂亮地打印记录,最小期望值(也可以在 pry 式调试器)中引用has_many_through

但是仅仅从代码的低谷就很难猜测它是否会引起问题,而且我通常倾向于对此类潜在问题采取防御措施-您将永远无法确定下一次使用object是否会不要以难以调试且可能无法修复的方式破坏事物。

就像我上面说的,如果您尝试的话,我会很好奇,但是我自己更愿意将其命名为belongs_to :thing, polymorphic: true或更好的名称。

10-07 13:50
查看更多