I have a very strange instance of this error:
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'
It is strange that line 150, where the error is mentioned, is inside the loop and runs fine 11 times before it resolves the error. I do not know why it will work fine, but one line will not work until it is effective, this is a loop in which the if statement returns true.
This is the code:
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
And this is the result before I get the error:
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
Thanks in advance for your help.
Stewart knapman
source share