joinしたテーブルに対してorderで並び替える際に、カラムの指定に詰まったのでメモ
FirstNameテーブル(1)
・id
・name
Rateテーブル(多)
・id
・first_name_id
・sound_rate
firstnameに紐ついているrateをidごとにまとめて、firstnameごとのsoundrateの平均値を出して、降順に並び替える。
最初こんな感じで書いてるとorder部分の引数違うよ!と怒られた。
'average("rates.sound_rate") desc'
この部分がおかしいっぽい
FirstName.joins(:rates).group(:id).order('average("rates.sound_rate") desc')
ActiveRecord::UnknownAttributeReference: Query method called with non-attribute argument(s): "average(\\"rates.sound_rate\\") desc"