Mam to:
<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>
Jak wypełnić to pole za pomocą jego identyfikatora?
Możesz to również zrobić za pomocą:
find('Id or class here').set('some text')
źródło
fill_in
akceptuje id bez symbolu #, który początkowo wydawał mi się mylący. Należy również pamiętać, że jeśli pole wejściowe jest modalne, może być konieczne poczekanie na przejście lub pojawienie się, zanim będzie można wypełnić pole.źródło
Jeśli używasz simple_form gem, musisz zauważyć, że automatycznie identyfikuje elementy formularza, dlatego ręczne identyfikowanie elementów jest daremne!
Jest; jednak konwencja nazewnictwa, którą simple_form stosuje się do elementów formularza id.
Jeśli więc podajesz informacje dla, powiedzmy, obiektu kontaktu w następujący sposób:
= simple_form_for @contact do |f| = f.input :first_name = f.input :last_name
simple_form automatycznie wygeneruje identyfikatory odpowiednio dla każdego elementu formularza, tak jak:
id="contact_first_name" id="contact_last_name"
Teraz możesz po prostu skorzystać z tej konwencji nazewnictwa, aby spełnić wszystkie Twoje potrzeby fill_in. Mam nadzieję że to pomoże.
źródło