0

各ユーザー>表示ページに表示される適切なスコアの取得に取り組んでいます。

私はhelper_method :high_scores次のように、アプリケーションコントローラーでを使用しています。

def scores
   User.joins(submissions: :score).maximum(:sub_total, group: 'users.id')  
end

そしてこれは戻ります:

{6619=>"5", 6608=>"50", 6601=>"10", 6598=>"15", 6594=>"20", 6582=>"20", 6574=>"5", 6565=>"15", 6553=>"20", 6549=>"10", 6543=>"5", 6527=>"10", 6476=>"10", 6467=>"20", 6465=>"20", 6447=>"15", 6414=>"25", 6404=>"20"...}

user_idをキーとして、そのユーザーの最高スコアの値を返します。

次に、ユーザーショーテンプレートで各メンバーのハイスコアを次のようにレンダリングします。

 <%= contest_score %> contest points<br/>

またはそのようなもの。

値を抽出する方法がわかりません。それはかなり単純に聞こえるかもしれませんが、私は学んでいます。

4

1 に答える 1

1

これを試して

<% contest_scores.each do |(user_id, score)| %>
  <%= user_id %>
  <%= score %>
<% end %>
于 2013-02-01T02:58:39.750 に答える