Когда x
не nil
, это работает хорошо, я думаю. Проблема в том, что x
равно nil
, поскольку ...empty?
возвращает также nil
и !nil
-> true
. Тогда это x
неправильно выбрано. Я бы предложил явную проверку логического значения:
test_cases.select { |x| x.andand.script.andand.versions.andand.empty? == false }
Или, возможно, лучше использовать пробел / подарок без последнего и :
test_cases.select { |x| x.andand.script.andand.versions.present? }
test_cases.reject { |x| x.andand.script.andand.versions.blank? }
Примечание: здесь это не связано с проблемой, но я предпочитаю Ick возможно вместо и , так как только nil
рассматривается как "void" (false
является законное значение, которое, я думаю, не должно быть прокси).