0
self.students.includes(:events).each do |student|
row = []
row.push student.first_name
row.push student.last_name
row.push student.title
row.push student.id
csv << row
end
截至目前,使用行數組一次一行地將每個用戶的數據輸入到CSV文件中。之後,循環移動到下一個用戶。在Ruby中按字母順序排序CSV文件
但是,問題在於用戶沒有按字母順序輸入。我通常會使用下面的代碼按字母順序對數組進行排序。
row.sort_by! {|student| [student.last_name, student.firstname]}
但看到這將是無效的,因爲只有一行將被排序在一次我正在尋找另一個解決方案。按字母順序排列數據的另一種方法是什麼?從我所看到的情況來看,我不可能在循環中對CSV文件進行排序,但我不確定如何在循環之外這樣做。所以,如果您有任何建議,請分享。
'self.students.includes(:events)'的結果是什麼。我期望一個Enumerable,那麼你對_since的期待只會在一個時間點排序,這將是錯誤的。你可以嘗試'self.students.includes(:events).sort_by {| student | [student.last_name,student.firstname]}。每個...' – knut
非常感謝,這個解決方案做到了! – Jalen929