У меня есть код, который выглядит так:
*movie_requests is a scope
def self.records (producer_id = 0)
actor_list = Array.new
movie_requests(producer_id).find_each do |studio|
actor = studio.actors.pluck(:id).uniq
if (!actor_list.include? actor) && (!actor.nil?)
actor_list << actor
end
end
return actor_list
end
Первоначально в базе данных, он имеет следующие идентификаторы актеров:
[[12305], [3749], [1263], [], [], [1263], [], [12305], []]
.pluck и .uniq выделяют избыточные идентификаторы из каждой студии, однако []
все еще существует:
[[12305], [3749], [1263], []]
Почему мое условие && (!actor.nil?)
не улавливает нулевые идентификаторы и не превращает его в отдельный объект?
Редактировать: return actor_list.compact
также не работает