Капібара: Як заповнити поле введення за його ідентифікатором


88

У мене є таке:

<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> 

Як заповнити це поле за його ідентифікатором?

Відповіді:


126

fill_in приймає id як перший параметр:

fill_in 'course_group_courses_attributes_2_name', :with => 'some text'

9
Я так думав, але це не працює. Здається, це не заповнює. Це не дає жодних помилок про те, що його не знайти. Це просто не заповнює.
Неріан

Можливо, ви можете включити відповідний код капібари та будь-який інший відповідний код.
raidfive

Я виявив, що проблема в Монгоїді. Видаліть помилки кандидатів.
Nerian

@Nerian ах! раді, що ви це зрозуміли
raidfive

ми отримали рішення?
Закос


7

fill_inприймає ідентифікатор без символу #, який спочатку виявився незрозумілим. Також зверніть увагу, що якщо ваше поле введення знаходиться в модальному режимі, можливо, вам доведеться дочекатися переходу або зникнути, перш ніж поле можна буде заповнити.


4

Якщо ви використовуєте gem simple_form, то ви повинні зауважити, що він автоматично ідентифікує ваші елементи форми, отже, вручну ідентифікація елементів марна!

Є; однак, дозвіл іменування, який simple_form дотримується для елементів форми id.

object_attribute

Отже, якщо ви заповнюєте інформацію для, скажімо, об’єкта контакту наступним чином:

= 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. Сподіваюся, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.