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


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.