我想在 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}
或者您可以按照此答案中的建议选择有数字的并对其进行排序,然后将没有数字的添加到列表中。
尝试将 nil 转换为整数如何?
@ebms = Ebm.all
@ebms.sort_by! { |u| u.number.to_i }