16

Rails アプリケーションで自分のレコードを並べ替えたい:

@ebms = Ebm.all
@ebms.sort_by! {|u| u.number}

u.number整数として定義されています! 問題は、Rails が以下と比較できないことnilです:

comparison of NilClass with 32400 failed

このエラーを回避するにはどうすればよいですか?

4

2 に答える 2

19

numbernilの場合に使用される比較のデフォルト値を追加できます。

@ebms = Ebm.all
@ebms.sort_by! {|u| u.number || 0}

または、この回答の提案に従って、番号のあるものを選択して並べ替え、番号のないものをリストに追加することもできます。

于 2013-08-01T08:44:29.667 に答える