В зависимости от используемой вами версии Rails, вы можете изменить следующую строку на одну из опций ниже:
action.file_name = [doc.xpath("//field[@index='103']").first.content]
Обновление до:
action.file_name = [doc.xpath("//field[@index='103']").first&.content]
# or
action.file_name = [doc.xpath("//field[@index='103']").first.try(:content)]
Обе эти опции защищают от ошибок NilClass
. Если вам не обязательно нужно значение для action.file_name
, это исправит ошибку.
В противном случае это случай, когда селектор (doc.xpath("//field[@index='103']")
) определенно правильный (кажется, что вы не получаете сообщение об ошибке, вызывающее first
), и, если это так, что определенно есть данные в массив, который он возвращает.
Надеюсь, это поможет - дайте мне знать, если у вас есть какие-либо вопросы.