Rails - :按计算数据排序

时间:2010-11-01 09:33:45

标签: ruby-on-rails ruby-on-rails-3 jquery-ui-sortable

我在需要排序的表中显示了多个数据实例 - 这些数据大部分是从表中计算出来的,而不仅仅是表中的原始值。

一个简单的例子:Column A = User.visits / User.membership_term

我正在使用可排序的表格列:http://railscasts.com/episodes/228-sortable-table-columns

我已经尝试将计算放在控制器中并将类方法添加到我的模型中,但似乎都不起作用。如何按计算字段排序?

1 个答案:

答案 0 :(得分:1)

您始终可以使用基本排序方法:

irb(main):001:0> a = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]

irb(main):002:0> a.sort {|d,e| (d - 3).abs <=> (e - 3).abs}
=> [3, 2, 4, 1, 5]    # sort by closest distance away from the number 3

因此,您可以使用类似的方式对活动记录数组进行排序。