作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在建立一个NFL Pick'em联赛网站。我有一个用户模型,一个游戏模型和一个联接表,该表捕获了每个用户的个人选择。游戏模型具有“结果”属性,该属性包括“W”代表胜利,“L”代表损失,“P”代表插入(并列)。
我在建立排名页面时遇到了问题。我的用户模型中目前有两种方法:
def correct_games
self.games.where(result: "W").count
end
def total_games
self.games.where('result != ?', "P").count
end
<%= number_to_percentage(current_user.correct_games.to_f / current_user.total_games) %>
最佳答案
为什么不只在模型中而不是在 View 中进行计算?添加另一个这样的方法:
此代码适用于您的用户模型:
def percentage_correct
((self.correct_games.to_f / self.total_games) * 100).to_i
end
def self.sorted_by_percentage_correct
User.all.sort_by(&:percentage_correct).reverse
end
<% User.sorted_by_percentage_correct.each do |u| %>
<div><%= u.name %> has pick percentage of <%= u.percentage_correct %>%</div>
<% end %>
关于ruby-on-rails - 如何对计算出的值排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12879040/
我是一名优秀的程序员,十分优秀!