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

时间:2010-05-29 18:54:58

标签: ruby-on-rails object deprecated

  

可能重复:
  Rails primary key and object id

非常快的问题。我的服务器警告我第37行将被弃用,具体为:

#Server error:
views/projects/index.html.erb:37: warning: Object#id will be deprecated; use Object#object_id

#Views/projects/index.html.erb:
6: <% for project in @projects do %>
36: <%= project.id %>
37: <%= Matching.find_all_by_customer_id_and_project_id( @customer.id, project.id).id %>
38: <%= @customer.id %>

这是我的困惑。第36行project.id没有发出警告,所以我假设问题是我在匹配模型上调用ID。为什么只匹配引发错误而不是客户或项目呢?我怎样才能在我的代码中纠正这个问题?

非常感谢。

1 个答案:

答案 0 :(得分:5)

@customer或您的Matching对象可能为零。 nil.id是一个不推荐使用的方法,引用了nil的对象ID。

在继续使用模板的这一部分之前,请检查您获得的@customerMatching对象是否包含某些内容,您应该没问题。