Ruby on rails 搜索相关记录的范围

Ruby on rails 搜索相关记录的范围,ruby-on-rails,activerecord,rails-activerecord,ransack,Ruby On Rails,Activerecord,Rails Activerecord,Ransack,我有报告费用和用户模型 用户有许多报告。 费用由你来报告 我希望能够使用我的搜索结果作为下一个查询的范围。 我正在这样搜索: @q = Report.search(params[:q]) @reports= @q.result(distinct: true) 我可能正在传递诸如report.user_id=xx之类的过滤器,并希望它们影响所有向前的查询 简单地说,我怎样才能做到: @reports.expenses 你可以使用这个方法 为self的每个元素调用给定的块一次 创建包含块返回的值

我有
报告
费用
用户
模型

用户有许多报告。 费用由你来报告

我希望能够使用我的搜索结果作为下一个查询的范围。 我正在这样搜索:

@q = Report.search(params[:q])
@reports= @q.result(distinct: true)
我可能正在传递诸如report.user_id=xx之类的过滤器,并希望它们影响所有向前的查询

简单地说,我怎样才能做到:

@reports.expenses
你可以使用这个方法

为self的每个元素调用给定的块一次

创建包含块返回的值的新数组

在您的情况下,这将是:

@reports.map(&:expenses)

未定义的#Expense::ActiveRecord_Associations_CollectionProxy:0x007fe4c08d44e0>方法“name”无法调用@expenses上的任何方法,例如@expenses.sum(&:cost)这是一个全新的问题,如果没有获得更多信息,我将无法帮助您。