У меня очень странное экземпляр этой ошибки:NoMethodError (неопределенный метод `[]» для ноль: NilClass)
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'
Что странно, что линия 150, где он говорит ошибка, находится внутри цикл и выполняется отлично 11 раз, прежде чем он решит об ошибке. Я не в курсе, почему это будет работать нормально, но не сработает одна строка до того, что будет эффективным, это цикл, в котором оператор if возвращает true.
Это код:
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
И это выход, прежде чем я получаю сообщение об ошибке:
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
Спасибо заранее за любую помощь.
Yup that was it. По какой-то причине выход был сегментирован и вышел из строя, но после его сборки он показал: field_data => nil. Спасибо за вашу помощь. –