indexアクションで複数テーブルのデータを取得したいと考えています。
どなたか詳しい方に教えていただきたいです。
ruby
1 def index 2 pagy, offices = pagy(Office.all) 3 pagy_headers_merge(pagy) 4 thanks = Thank.where(office_id: office.id) 5 staffs = Staff.where(office_id: office.id) 6 regular_holidays = RegularHoliday.where(office_id: office.id) 7 office.to_json(include: [:thanks, :staffs, :regular_holidays]) 8 end 9end
class Office < ApplicationRecord belongs_to :city has_many :reservations, dependent: :destroy has_many :office_images, dependent: :destroy has_many :bookmarks, dependent: :destroy has_many :browse_histories, dependent: :destroy has_many :staffs, dependent: :destroy has_many :regular_holidays, dependent: :destroy end
class RegularHoliday < ApplicationRecord belongs_to :office end
class Staff < ApplicationRecord belongs_to :office has_many :thanks, dependent: :destroy has_many :patients, dependent: :destroy end
class Thank < ApplicationRecord belongs_to :user belongs_to :staff scope :new_comer_by_office, -> (office) { where(office: office).order(created_at: :desc).first } end
staffのデータを表示させる必要はありませんでした。表示させたいものとしては、officeのデータ、thankの投稿日が一番新しいbodyカラムのデータ、regularholidayのnameカラムのデータです。それをjsonとしてまとめてみれるようにしたいです。