Ruby不需要的对象被添加到数组而不是正确的对象

时间:2014-10-09 15:34:24

标签: ruby-on-rails ruby

社团:

class Foo
  has_many :foo_subscribers
end

class FooSubscriber
  belongs_to :foo
  belongs_to :user
end

class User
  has_many :foo_subscribers
  belongs_to :employee
end

class Employee
  has_one :user
end

以下代码正在向数组添加User对象,尽管显式调用了User Employee

#foo.rb

employees_to_notify = Array.new

foo_subscribers.each do |user|
  employees_to_notify << user.employee
end

测试中存在所有适当的数据。通过调试,我可以将user.employee评估为员工对象,并将其添加到阵列中。

这怎么可能?我尝试了各种各样的事情,例如迭代数组并将任何User对象转换为Employees。那也失败了。

2 个答案:

答案 0 :(得分:1)

看起来你正在迭代foo_subscribers,但是然后将它们命名为管道中的用户?是foo_subscribers用户吗?

答案 1 :(得分:0)

我试图获取foo_subscriber.employee而不是foo_subscriber.user.employee。我试图在错误的类型上执行操作。