我正在研究一個項目,其中有一個名爲level的屬性,一個介於1和3之間的整數。目前默認的按級別排序已經結束乘坐:Rails - sort_by但保持活躍的記錄關係
enum level: { "level_1" => 2, "level_2" => 0, "level_3" => 1 }
而且我被要求不要改變這一點。我現在需要按級別升序排序,並且一直在使用sort_by:
pupils.sort_by(&:level_asc)
用方法level_asc剛剛返回它們的級別。這個問題是它返回一個數組,這是搞砸我的分頁。
有沒有什麼辦法可以按級別升序排序,忽略先前規定的規則,並返回一個活動的記錄關係?我試着attr_accessors沒有快樂..提前
感謝
編輯:
我試着簡單地合併3中的查詢,但我使用的鐵軌4〜和我不噸有訪問「或」方法,會很好地工作:
Pupil.where(level: 1).or(where(level: 2)).or(where(level: 3))
如果有什麼辦法,我做的話,我會進行排序
使用順序,而不是作爲sort_by是sort_by紅寶石執行並用於數組排序。 – Crashtor
默認順序已經超過了我粘貼的第一行代碼,它將命令它們2 - > 3 - > 1 – Mark
您正在使用哪個數據庫? – skam