Эта ошибка появляется, когда у вас нестабильные ключи и вы пытаетесь их отсортировать.Пример:
[{'foo'=>99,'bar'=>1},{'foo'=>0,'bar'=>2, 'qwe' => 7}]
a.sort_by{|v| v['qwe']}
ArgumentError: comparison of NilClass with 7 failed
Попробуйте сделать
a.sort_by{|v| [v['qwe']].select{|k| not k.nil?}}
Но у меня это не работает в
[v['index'],v['count'],v['digit'],v['value']]
, где цифра нестабильна