У меня есть это:
<input class="string optional"
id="course_group_courses_attributes_2_name"
name="course_group[courses_attributes][2][name]"
placeholder="Lengua"
size="15"
type="text" />
</div>
Как мне заполнить это поле по его ID?
Вы также можете сделать это с помощью:
find('Id or class here').set('some text')
источник
fill_in
принимает id без символа #, который меня сначала смутил. Также обратите внимание, что если ваше поле ввода является модальным, вам может потребоваться подождать перехода или исчезнуть, прежде чем поле можно будет заполнить.источник
Если вы используете гем simple_form, вы должны отметить, что он автоматически идентифицирует ваши элементы формы, поэтому вручную вставлять элементы самостоятельно бесполезно!
Там есть; однако соглашение об именах, которому следует simple_form для идентификации элементов формы.
Итак, если вы заполняете информацию, скажем, для контактного объекта, как показано ниже:
= simple_form_for @contact do |f| = f.input :first_name = f.input :last_name
Затем simple_form автоматически сгенерирует идентификаторы для каждого элемента формы соответственно следующим образом:
id="contact_first_name" id="contact_last_name"
Теперь вы можете просто использовать это соглашение об именах, чтобы удовлетворить все ваши потребности в fill_in. Надеюсь это поможет.
источник