Rails アプリケーションで自分のレコードを並べ替えたい:
@ebms = Ebm.all
@ebms.sort_by! {|u| u.number}
はu.number
整数として定義されています! 問題は、Rails が以下と比較できないことnil
です:
comparison of NilClass with 32400 failed
このエラーを回避するにはどうすればよいですか?
Rails アプリケーションで自分のレコードを並べ替えたい:
@ebms = Ebm.all
@ebms.sort_by! {|u| u.number}
はu.number
整数として定義されています! 問題は、Rails が以下と比較できないことnil
です:
comparison of NilClass with 32400 failed
このエラーを回避するにはどうすればよいですか?
number
nilの場合に使用される比較のデフォルト値を追加できます。
@ebms = Ebm.all
@ebms.sort_by! {|u| u.number || 0}
または、この回答の提案に従って、番号のあるものを選択して並べ替え、番号のないものをリストに追加することもできます。