J'ai ceci:
<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>
Comment puis-je remplir un champ par son ID?
fill_in
accepte l'id comme premier paramètre:
fill_in 'course_group_courses_attributes_2_name', :with => 'some text'
Vous pouvez également le faire avec:
find('Id or class here').set('some text')
fill_in
accepte id sans le symbole # que j'ai trouvé déroutant au début. Notez également que si votre champ de saisie est dans un modal, vous devrez peut-être attendre la transition ou fondu avant de pouvoir remplir le champ.
Si vous utilisez simple_form gem alors vous devez noter qu'il identifie automatiquement vos éléments de formulaire, donc l'identification manuelle des éléments est inutile!
Il y a; cependant, une convention de dénomination que simple_form suit pour identifier les éléments de formulaire.
object_attribute
Donc, si vous remplissez des informations pour, disons, un objet contact comme suit:
= simple_form_for @contact do |f|
= f.input :first_name
= f.input :last_name
simple_form générera alors automatiquement des identifiants pour chaque élément de formulaire respectivement comme suit:
id="contact_first_name"
id="contact_last_name"
Vous pouvez maintenant simplement utiliser cette convention de dénomination pour répondre à tous vos besoins fill_in. J'espère que cela t'aides.