社团:
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
。那也失败了。
答案 0 :(得分:1)
看起来你正在迭代foo_subscribers,但是然后将它们命名为管道中的用户?是foo_subscribers用户吗?
答案 1 :(得分:0)
我试图获取foo_subscriber.employee而不是foo_subscriber.user.employee。我试图在错误的类型上执行操作。