Ruby on rails Rails 6 fastjson错误MandatoryField异常:id是jsonapi规范中的必填字段

Ruby on rails Rails 6 fastjson错误MandatoryField异常:id是jsonapi规范中的必填字段,ruby-on-rails,serialization,rails-api,Ruby On Rails,Serialization,Rails Api,我正在使用Fastjson序列化程序gem处理Rails6API 获取MandatoryField异常:id是jsonapi规范错误中的必填字段 def get_payment_report if params[:duration].present? payment = Hash.new date_range = Invoice.get_date_range(params[:duration], DateTime.now.in_time_zone(@timezone)) in

我正在使用Fastjson序列化程序gem处理Rails6API

获取MandatoryField异常:id是jsonapi规范错误中的必填字段

def get_payment_report
 if params[:duration].present?
   payment = Hash.new
   date_range = Invoice.get_date_range(params[:duration], DateTime.now.in_time_zone(@timezone))
   invoiced_amount = Invoice.invoiced_report_calculation(params[:duration], date_range) if date_range.present?
   payment['invoiced_amount'] = invoiced_amount[0]
   payment['total_invoiced_amount'] = invoiced_amount[1]
   payment_report = DashboardPaymentReportSerializer.new(payment)
   success_response_with_obj(payment_report.serializable_hash[:data].map{ |data| data[:attributes]})  
  end
 end
付款报告对象值

#<DashboardPaymentReportSerializer:0x00007fee1caefb48 @fieldsets={}, @params={}, 
@resource={"invoiced_amount"=>{"Jan 2020"=>0.14267609e6, "Feb 2020"=>0.1081994e6, "Mar 2020"=>0.8739835e5, "Apr 2020"=>0.839002e4, "May 2020"=>0.12127e5, "Jun 2020"=>0.4563784e5, 
"Jul 2020"=>0.332564e4, "Aug 2020"=>0.330587796e7, "Sep 2020"=>0.68637564e6, 
"Oct 2020"=>0.6382326e6, "Nov 2020"=>0.285e3, "Dec 2020"=>0}, "total_invoiced_amount"=>24694915}>
谢谢

class DashboardPaymentReportSerializer
  include FastJsonapi::ObjectSerializer
  attributes :invoiced_amount, :total_invoiced_amount 
end