-1
<% @users.each do |user| %>
<li><%= user.user_id %><%= user.user.name %></li>
查詢結果讓我
• 1 fred
• 1 fred
• 9 charlie
結果可能是10個不同的用戶和/或一些可能是雙倍或三倍的結果。我想標記他們出現multipe時。 如何找到用戶中哪個user_id的size/count> = 2是最好的方法? 要說清楚:我不想在我的模型中找到雙重條目,但在結果中。
解決方案:
<% @users.each do |user| %>
<li class="<%= mark_it(@users, user.user_id) %>"><%= user.user_id %><%= user.user.name %></li>
幫手
def mark_it(users,id)
user_counts = Hash.new(0)
users.each {|user| user_counts[user.user.id] += 1}
ordered_results = user_counts.sort_by{|user| -user_counts[user]}
most_appearances = ordered_results.take_while {|user, count| count >= 2}
top_users = most_appearances.map {|user, count| user}
return 'make_bold' if top_users == [id]
end
@Yule:問題是不清楚的,所以答案是不恰當。 – Werner
@WernerLaude如果問題不清楚,但你仍然試圖解決同樣的問題,編輯您的原始問題 – Yule
嗨尤爾..我已經嘗試過,但...然後沒有人再看它了..我找到了幫助和在這裏發佈結果.. – Werner