Ruby /避免在sort_by中为nil时出错

从这个问题 (@mudasobwa);

input.sort_by { |h| sorter.index(h[:id]) } 

在一些不幸的情况下; sorter.index(h[:id])返回nil,然后返回错误

一个人如何干净地避免这样的错误发生,同时对数组的其余部分进行排序?

 input.sort_by { |h| [sorter.index(h[:id]) ? 1 : 0, sorter.index(h[:id])] } 

这将获取所有值,根据它们是否具有最初可用的sorter.index(h [:id])对它们进行排序,然后使用该值对具有该值的那些值进行排序