一部のモデルに投票できるRailsアプリがあります。私のモデルの 1 つで、default_scope
投票数が最も多いオブジェクトが最初に表示されるように変更したいと考えています。モデルファイルで次のことを試しました:
def self.default_scope
order('votes_for.size DESC')
end
これにより、次のエラーが表示されます。
SQLite3::SQLException: no such column: votes_for.size: SELECT "solutions".* FROM "solutions" WHERE "solutions"."competition_id" = ? ORDER BY votes_for.size DESC
デフォルトのデフォルトのソート順を変更する方法があるのだろうか、私がやっていることは明らかに機能していません。
可能であれば、コントローラ レベル (デフォルトの順序ではない) で動作させるためのソリューションもいいでしょう。