已关闭,此问题需要更focused。它目前不接受回答。
**想改善这个问题吗?**更新问题,使其只关注editing this post的一个问题。
去年就关门了。
Improve this question
我有一张表,我想按字母等级排序。问题是它在用符号排序字母之前先排序字母。例如,它排序:A、A+、A-、B、B+、B-等,但我希望它能对A+、A、A-、B+、B、B-等进行排序。有没有办法设置这样做?
已关闭,此问题需要更focused。它目前不接受回答。
**想改善这个问题吗?**更新问题,使其只关注editing this post的一个问题。
去年就关门了。
Improve this question
我有一张表,我想按字母等级排序。问题是它在用符号排序字母之前先排序字母。例如,它排序:A、A+、A-、B、B+、B-等,但我希望它能对A+、A、A-、B+、B、B-等进行排序。有没有办法设置这样做?
2条答案
按热度按时间jei2mxaa1#
作为想法,你可以检查最后一个字母的等级,并根据其值添加一些数字的等级
您可以向模型添加范围
然后应用到您的模型
Work.order_by_grade
作为另一个想法,你可以在模型中定义一些常数,所有变量和使用索引
从最差到最好的排序可能是
ASC
,从最好到最差的排序是DESC
,这是你的选择然后应用到您的模型
Work.order_by_grade
甚至Work.order_by_grade.reverse_order
hgqdbh6s2#
你可以写以下内容。
使用Array#<=>方法比较两个数组的排序。特别是第三段的链接。
假设
正在被比较。对于
s1
,我们计算数组对于
s2
作为
'A+'
在'A'
之前排序。