調べてもぱっとわかる情報が見つからなかったので備忘録用に。
例えば
user.rb
has_many :own_groups,
class_name: "Group",
foreign_key: "owner_id",
dependent: :destroy
groups.rb
belongs_to :owner, class_name: "User"
というのがあったとする。
コード
しかしjoinsするだけだとuserの情報を返してくれないのでselectする
groups.rb
scope :with_owners_info, -> () do
<query>
.joins(:owner)
.select("
groups.id,
groups.name,
groups.desc,
groups.updated_at,
users.id AS owner_id,
users.name AS owner_name,
")
end
最後に.to_jsonなり.to_aなりする。