Ruby或Rails是否提供了按特定順序排序字符串的方法?假設我有以下優先級:「嚴重,高,中,低」。Rails:記錄的自定義排序
這些優先級不會經常變化(如果有的話)。我有一個優先級列任務模型:
tasks
- id (integer)
- name (string)
- priority (string)
我想獲得按優先級排序的所有任務的數組。由於邏輯順序不按字母順序排列,這是不可能簡單地通過優先級列順序:
Task.all(:order => :priority)
我所做的就是創建一個優先級模型和定義的關聯:任務belongs_to的優先級。在優先級表中,我然後爲每個優先級名稱分配一個值並按該值排序。有一個更好的方法嗎?我寧願沒有一個優先級表,並聲明一個PRIORITY常量(作爲散列),或者只是將優先級指定爲任務表中的字符串。
很好,謝謝!正是我在找什麼。 – Homar 2009-08-30 21:14:30
更好的辦法是使用acts_as_list,這爲它提供了一些排序方法等等,真的很整潔。 – 2009-08-31 07:20:49