NoMethodError (niezdefiniowana metoda `[] 'dla nil: NilClass)

Mam bardzo dziwny przypadek tego błędu:

NoMethodError (undefined method `[]' for nil:NilClass):
app/controllers/main_controller.rb:150:in `block in find_data_label'
app/controllers/main_controller.rb:149:in `each'
app/controllers/main_controller.rb:149:in `find_data_label'
app/controllers/main_controller.rb:125:in `data_string'
app/controllers/main_controller.rb:35:in `catch'

Co dziwne, linia 150, w której mówi, że błąd jest, znajduje się w pętli i działa idealnie 11 razy, zanim zdecyduje się na błąd. Nie mam pojęcia, dlaczego będzie działać dobrze, ale zawiedzie jeden wiersz przed tym, co byłoby skuteczne w pętli, w której instrukcja if zwraca wartość true.

To jest kod:

  def find_data_label(label)
    @fields.each do |f|
      puts "f[:field_data]['Title'] = #{f[:field_data]['Title']}" # <--- line 150
      if f[:field_data]['Title'] == label
        return f
      end
    end
  end

I to jest wyjście, zanim otrzymam błąd:

f[:field_data]['Title'] = Name
f[:field_data]['Title'] = Name
f[:field_data]['Title'] = Mobile number
f[:field_data]['Title'] = Email
f[:field_data]['Title'] = Date of birth
f[:field_data]['Title'] = Gender
f[:field_data]['Title'] = Street name
f[:field_data]['Title'] = Street number
f[:field_data]['Title'] = My local Puckles store is in
f[:field_data]['Title'] = Suburb
f[:field_data]['Title'] = Postcode
Completed 500 Internal Server Error in 2047ms

Z góry dziękuję za wszelką pomoc.

questionAnswers(2)

yourAnswerToTheQuestion