Как правильно отвечает ответ @bott, fill_in
принимает локатор, который представляет собой имя, идентификатор или связанный текст метки ввода, который вы хотите заполнить, а не элемент или селектор CSS.Кроме того, начиная с Capybara 3.7.0, вы можете вызвать fill_in
для заполняемого элемента и пропустить передачу локатора (как упомянуто в документации - «если локатор не предоставлен, будет работать на себя или на потомка») - в вашем случае это будет
f.fill_in with: 'paprika'
В примечании не нужно вызывать all(...).first
, поскольку существует метод first
, если все, что вам нужно, это первый соответствующий элемент, однако в общем случае вы действительно хотите отдать предпочтение методам.которые возвращают единичные уникальные элементы (поиск и т. д.), используя при необходимости область видимости для обеспечения уникальности, вместо all
и first