0
也許有人可以幫助我:Rails 5.0中使用will_paginate,我讀出了每頁24個結果。結果取自Elasticsearch並按照_score排序。因此,無論搜索查詢是什麼,第一場比賽都將成爲最佳匹配對象。這一切都很好。在Rails中記住使用will_paginate的值
第一個對象的得分最高,我計劃顯示一個相對於得分填充的進度條。因此,第一場比賽將被填充到100%,第二場比賽將(如果得分較低)填充較少。所有的作品都能找到我目前的代碼。
問題:
在頁1上的所有工作正常。但是,一旦我點擊第2頁或任何其他頁面,最初的最高_分數正在丟失。而這個特定頁面的第一場比賽是此後的最高分數。
我怎樣才能記住最高分,而無需在控制器中運行兩次查詢(一次用於特定頁面,一次用於檢索最高分數)?
也許任何人都知道一個漂亮的伎倆來解決這個問題。
控制器
@users = current_user.search_more_like_this.paginate(:page => params[:page], :per_page => 24)
# Problem is that the highest score is recalculated once I change the page.
@highest_score = @users.first._score.to_f
查看
= link_to user_path(user.slug) do
.progressbar
%div{:style => "width: #{(user._score/@highest_score)*100}%;"}
%span{:id => "os" + user.username.to_s, :class => "slickdot"}
%span{:style => "color: white;padding-left:15px;"}
= user.username
= user._score
非常感謝你的幫助!
它是會話變量。 :D謝謝,現貨! –