2017-07-03 37 views
0

我目前有一個map函數我正在調用值的名稱,然後對它們進行排序並拒絕空白。然而,不要拒絕空白,我想用不同的方法調用替換空白。比如現在我做:在rails上用方法調用ruby替換空值

Client.data.map(&:string).sort_by(&:to_s).reject(&:blank?) 

我想這樣做,以這樣的方式,我可以呼籲那些空白值Client.data.id_num(因爲他們沒有字符串值)。

有沒有在Ruby中做到這一點的好方法?謝謝!如果有幫助,我正在使用Rails。

+0

這個是什麼? 'Client.data.map(&:string).sort_by(&:to_s).reject(&:blank?)。map {| element | element.presence || Client.data.id_num(element)}' – tbuehlmann

+0

我從該代碼中得到一個未定義的方法'm ap',用於數組錯誤。 –

+0

呃?這聽起來不對,因爲確實有一個Array#map方法。 :) – tbuehlmann

回答

2

我會做這樣的事情:

Client.data 
     .sort_by { |client| client.string.to_s } 
     .map { |client| client.string.presence || client.id_num } 
+0

這工作,謝謝一堆! –