【发布时间】:2011-01-26 08:08:13
【问题描述】:
鉴于我有一个模型 house,它经历了几个状态,如下所示:
Dreaming —> Planning —> Building —> Living —> Tearing down
如果我想从数据库中检索十所房屋并按状态字段对它们进行排序,我会首先获得Building 状态的所有房屋,然后是Dreaming,然后是Living,...
是否可以从数据库中获取所有房屋,并在检索它们之前按状态按照预期的顺序对它们进行排序?意思是,首先是Dreaming 状态的所有房屋,然后是Planning,等等。通过在数组中提供顺序以进行排序比较。
我希望在获取所有条目后避免在 Ruby 中执行此操作,并且我不想为状态使用 ID。
在阅读了枚举实现之后,我想,如果我能让它工作,我会尝试将enum column plugin 与state_machine plugin 结合起来以实现我所追求的。如果有人以前做过这样的事情(尤其是 Rails 3 下的组合),我将不胜感激!
【问题讨论】:
标签: ruby-on-rails ruby database sorting