Ruby on rails 每个环路轨道的活动记录分组依据

Ruby on rails 每个环路轨道的活动记录分组依据,ruby-on-rails,ruby,activerecord,group-by,Ruby On Rails,Ruby,Activerecord,Group By,我正在对活动记录应用GROUPBY,然后执行每个操作以从哈希访问记录 下面是我的代码 invoice_transactions.group_by(&:paymentable_id).each do |invoice_id, transactions| invoice = Invoice.find invoice_id transaction_details = get_transactions(transactions, timezone) invoice_details.p

我正在对活动记录应用GROUPBY,然后执行每个操作以从哈希访问记录

下面是我的代码

invoice_transactions.group_by(&:paymentable_id).each do |invoice_id, transactions|
  invoice = Invoice.find invoice_id
  transaction_details = get_transactions(transactions, timezone)
  invoice_details.push({
    customer_name: invoice&.customer&.fully_qualified_name&.strip})
在这里,我需要在单独的一行中按发票id查找发票

invoice = Invoice.find invoice_id 
我的问题是,我如何才能找到与组在同一行中的发票,而不是通过获取发票id来获取发票对象,并且不需要在第二行中查找

差不多

invoice_transactions.group{|paymentable_id| Invoice.find paymentable_id}.each do |invoice, transactions|

谢谢

对不起!你必须这样做。不,我明白了,我们可以通过发票交易来做。通过{[I]发票进行分组。查找I.paymentable\u id}。每个人都做发票,交易,最终你会做同样的事情。最好以当前方式进行。如果在
InvoiceTransaction
Invoice
之间有
paymentable
关联,则可以像
Invoice\u transactions.groupby(&:paymentable)
那样进行操作,它将使用
paymentable
对象本身作为散列键