【发布时间】:2015-04-12 16:28:08
【问题描述】:
我有一个对象任务,如下所示:
class Task
include HTTParty
attr_accessor :id, :name, :assignee_status, :order
def initialize(id, name, assignee_status)
self.id = id
self.name = name
self.status = status
self.order = order
end
end
所以,当我加载任务列表时,我会给它们一个特定的顺序,如下所示:
i = 0
@tasks.each do |at|
at.order = i
i += 100
end
然后,此列表通过 json 发送到客户端应用程序,该应用程序向用户显示并允许拖放。在某些任务被重新排序后,前端应用程序会向服务器发送一个列表,其中包含新顺序中的所有任务 ID。
示例: 23,45,74,22,11,98,23
我想要做的是根据我找到的 id 重新排序对象数组。我想做的是将所有顺序设置为 0,然后在矩阵上单独搜索每个对象并相应地设置它们的优先级。但这只是感觉不对……感觉计算密集型。
有没有聪明的方法来做类似的事情:
ArrayOfTaskObjects.orderbyAttribute(id) ??
【问题讨论】:
标签: ruby arrays ruby-on-rails-3 sorting