個人アプリ開発 ランキング順表示
作業内容
記事一覧の表示順を修正しました。
点数が高い順に表示するようにします。
コントローラ編集
def index @groups = Group.all.sort {|a,b| b.comments.average(:rate).to_f <=> a.comments.average(:rate).to_f} end
最初はorderメソッドを使って並び替えをしようと思案していましたが、
コードがかなり冗長になり、また、コメントがまだ無い記事は、点数(rateカラム)が存在しない為エラーが出ます。
Qiitaでいろいろ検索してみると、sortメソッドを使用する記事を発見しました。
参考:
[Rails] いいね数順でランキング - Qiita
公式ドキュメントでも該当メソッドを確認し実装。
いろいろ便利なメソッドがあるんだと実感しました。
”定期的に公式ドキュメントを見ておくと良い”という意味が分かりました。精進していきます!