我在这里有此代码:
if hotel_hash[:postal_code].present?
selected_hotel = @hotels.find_all { |hcom| hotel_hash[:postal_code].to_s.gsub(/\s+/, "") == hcom[:postal_code].to_s.gsub(/\s+/, "") }
end
@hotels
已填充。 selected_hotel
行出现错误。我经历了一个byebug,并且工作到了邮政编码S7 1NQ
为止。任何想法都很棒。
答案 0 :(得分:1)
似乎您的nil
枚举中至少有一个@hotels
值。
您可能想先@hotels.compact
过滤列表:
selected_hotel = @hotels.compact.find_all { |hcom| hotel_hash[:postal_code].to_s.gsub(/\s+/, "") == hcom[:postal_code].to_s.gsub(/\s+/, "") }