Ruby Object#id警告和Active Record

Tob*_*ede 9 warnings rspec ruby-on-rails rails-activerecord

当我们运行我们的规范时,我们会不断看到如下警告:

Object#id将被弃用; 使用Object#object_id

有问题的代码是访问ActiveRecord模型的id(显然,这是表中的属性,而不是Ruby VM中的对象实例ID).

有谁知道如何关闭这些特定的警告或以某种方式避免它们?

Rya*_*igg 15

尝试使用[:id]而不是.id


Sar*_*Mei 10

当一个对象来自一个对象时ActiveRecord::Base,调用id转到AR :: B的id方法而不是被弃用的方法Object.

那个警告通常意味着我的一个对象不是我认为的那样.


小智 6

我假设你正在做嘲弄/抄袭(因为你提到了规格).

就我而言,当我存根ActiveRecord对象并访问其ID属性时,我会遇到这些警告.

如果您希望访问ActiveRecord对象的ID,我建议您执行以下操作:

 mock("MyActiveRecordObject", :id => 1001)
Run Code Online (Sandbox Code Playgroud)