2016-05-11 4 views
0

私は、ユーザが同僚を評価できるウェブサイトを作成しています。私の上司は、店頭に印刷して電話を切ることができる静的なページで平均値を最高から最低まで表示したいので、従業員は他の従業員と比較して結果を見ることができます。私はしばらくの間、簡単に列をソートする方法を探してきました。私は列を並べ替える上でRailkeastを見つけましたが、本当に必要なものよりもはるかに詳細です。注文APIを見つけましたが、私は必要な方法で実装しているとは思いません。私は、ユーザーの名前と自分のスコアを印刷し、静的なページをロードすることができますRailsでスタティックページにソートされた列を表示する

@user = User.all.order(average: :asc) 

:私は多分のような、私はこの問題を解決することができますワンライナーがあることを期待しています。前もって感謝します!

+0

usersテーブルに実際に 'average'カラムがありますか?平均値は計算された値でなければならないと思います。そうでなければ、RDBMSの目的を破ることになります(また、あなたの質問に対する答えにも影響します)。 – MarsAtomic

+0

はい、各ユーザーには、データベースに格納されている個別の全体的なスコアがあります。私はこれらのスコアをすべて最善から最悪に並べ替えたいと思っています。実際にデータベース列をソートせずにその情報をソートできるAPIはありますか?もしそうなら、あまりにもうまくいく、私はレール、HTMLなどにはまったく新しいです。平均列をソートするのはコード内で行うよりも簡単かもしれませんが、それが私が求めている理由です。私が見たRailscastからは、昇順で並べ替える方法がないようですが、私はそれを見落としているかもしれません。 – user3376654

答えて

0

あなたのコードを試しましたか?最低スコアから最高スコアまでを除いて、求めていることを正確に行う必要があります。あなたはそれを実行して、最低から最高から少しソート簡素化することができ

@users = User.order(average: :desc) 

をMarsAtomicが言ったように、これはあなたが実際にあなたのユーザーテーブルの列がaverageと呼ばれていることを前提としています。そうでない場合は、データベースの設定方法に関する詳細情報が必要です。

+0

ああ、それは間違いだった。 5つの異なる列の平均である変数を平均化しましたが、その情報をデータベースに格納する列を作成します。明確にしてくれてありがとう! – user3376654

関連する問題