通过集合访问关系时保持activerecord关系

时间:2014-09-25 15:57:13

标签: ruby-on-rails

我有一个名为contacts的activerecord关系对象。每个联系人模型都有_one。我想将引线作为关系返回,因此我无法使用map,collect,select。

显然,这不起作用,因为迭代器破坏了关系:

contacts.select(&:lead)

这有效,但会将联系人作为关系对象返回,而不是引导:

contacts.joins(:lead)

因此,当我尝试在结果上调用group_by_week activerelation方法时:

contacts.joins(:lead).group_by_week(:created_at).size

created_at指的是联系人,而我希望它引用潜在客户。

1 个答案:

答案 0 :(得分:0)

我就是这样做的:

leads = Lead.where(contact_id: contacts)

如果失败,您可能需要选择联系人的ID并将其传递给。

leads = Lead.where(contact_id: contacts.map(&:id))