やりたいこと
'jsonapi-serializer' というgemを使ってネストされたAPIを返したいです。
companyモデルの子のbillingのデータをネストしたいのですがうまく行かずに困っています。
## 現状のコード
ruby
1##companies_controller.rb 2module Api::V1::Admin 3 class CompaniesController < ApplicationController 4 5 def index 6 companies = Company.all 7 render json: CompanySerializer.new(companies) 8 end 9 end 10end
ruby
1##company_serializer.rb 2class CompanySerializer 3 include JSONAPI::Serializer 4 5 has_many :billings, serializer: BillingSerializer 6 attribute :name, :daihyo_last_name, :daihyo_first_name, :status 7end
ruby
1##company.rb 2class Company < ApplicationRecord 3 has_many :energizers 4 has_many :company_admins 5 has_many :billings 6 has_many :shindans 7end 8 9## billing.rb 10class Billing < ApplicationRecord 11 belongs_to :company 12end
現状のAPI
現状帰ってくるAPIは下記のような形です。
この部分のしたにattributesという形で、billingテーブルのカラムの情報を返したいです。
"data": [ { "id": "1", "type": "billing" }
##現状のJSON { "data": [ { "id": "1", "type": "company", "attributes": { "name": "gorira", "daihyo_last_name": null, "daihyo_first_name": null, "status": null }, "relationships": { "billings": { "data": [ { "id": "1", "type": "billing" } ] } } }, [ }
補足情報(FW/ツールのバージョンなど)
ruby-2.6.6
あなたの回答
tips
プレビュー