0
我在我的獎勵表中有2列:排名(整數)和名稱(字符串)。我想要創建一個範圍,該範圍顯示排序列以升序(1,2,3 ...)填充的所有記錄,然後剩下的記錄沒有按照名稱升序顯示的排名(A,b,C),所以它看起來像這樣:Rails + Activerecord:如何先顯示「排名爲ASC」的記錄,然後顯示其餘記錄「名稱ASC」?
- 排名:1,名稱: 「ZZ」
- 排名:2,名稱: 「AAA」
- 排名:無,名稱: 「BBBB」
- 排名:無,名稱: 「CCC」
- 排名:無,名稱: 「DDD」
- 等...
這似乎並不工作:scope :book_form_sort_order, -> { order("ranking ASC, name ASC").group(:ranking) }
人照顧解釋爲什麼這個答案的作品?我不明白。那不是把所有的排名==零記錄放在第一位?爲什麼它按照我想要的方式行事? – Edmund