現在、ゴルフスコア管理アプリをrailsにて制作中なのですが、データベースとのやりとりについて、わからなくってきましたので、質問させて下さい。
まずやりたいこととしては、各ユーザーのトータルスコアを算出し、そのスコアとユーザ名をスコア順に並べて表示させるものです。
Scoreというテーブルに複数ユーザのスコアが入力されており、トータルを算出するも全てのユーザのスコアが合計されてしまいます。
ちなみにScoreテーブルには、
hole_score(そのホールのスコア)
par(そのホールのPar)
user_id
hole(ホール)
のカラムがあります。
controller
@total_score =Score.all.sum(:hole_score)
view
<%= @total_score %>
で、テーブル全体の合計は出せたのですが、ユーザごとにという方法がわからず困っております。
また、もうひとつよくわからない点として、カラムを指定するのは、controller側なのか、view側なのか、
どちらが望ましいのでしょうか。
たとえば、
@scores = Score.all (controller)
<%= @scores.sum(:hole_score) %> (view)
と、
@total_score =Score.all.sum(:hole_score) (controller)
<%= @total_score %> (view)
は結果同じになると思いますが、どちらが良いのでしょうか。
ヒントやアドバイスを宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/06 11:26
2020/09/06 11:37
2020/09/06 13:04
2020/09/06 21:40