Капибара: Как заполнить поле ввода по его идентификатору
У меня есть это:
<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?
4 ответа:
fill_in
принимает ID в качестве первого параметра:fill_in 'course_group_courses_attributes_2_name', :with => 'some text'
fill_in
принимает идентификатор без символа#, который я сначала нашел запутанным. Также обратите внимание, что если ваше поле ввода находится в модальном режиме, вам может потребоваться дождаться перехода или исчезнуть, прежде чем поле может быть заполнено.
Если вы используете simple_form gem тогда вы должны отметить, что он автоматически идентифицирует ваши элементы формы, поэтому вручную идентифицировать элементы самостоятельно бесполезно!
существует; однако, соглашение об именовании, которое simple_form следует за элементами формы id.
object_attribute
поэтому, если вы заполняете информацию для, скажем, контактного объекта следующим образом:
simple_form будет автоматически генерировать идентификаторы для каждого элемента формы, соответственно, как Итак:= simple_form_for @contact do |f| = f.input :first_name = f.input :last_name
id="contact_first_name" id="contact_last_name"
Теперь вы можете просто использовать это соглашение об именах для выполнения всех ваших потребностей fill_in. Надеюсь, это поможет.