2017-12-12 2 views
0

In einem Formular manuell benennen, ich ein Etikett manuell benannt:Rails Systemtests fehlschlagen, wenn ich ein Etikett

<%= f.label :name, "DEA License Number" %> 
<%= f.text_field :dea_license_number, class: 'form-control' %> 

Das HTML sieht wie folgt aus:

<label for="dentist_detail_name">DEA License Number</label> 
<input class="form-control" type="text" name="dentist_detail[dea_license_number]" id="dentist_detail_dea_license_number" /> 

Und mein System-Test:

fill_in "DEA License Number", with: "999999" 

Wenn ich die Tests ausführen, bekomme ich diese:

Error: 
SignUpJobSeekersTest#test_Sign_Up_Job_Seekers: 
Capybara::ElementNotFound: Unable to find visible field "DEA License Number" that is not disabled 

Ich bin auf ein bisschen ratlos. Danke, dass du einen Neuling unterstützt hast.

Antwort

1

Wenn Sie an dem generierten HTML-Code aussehen for Attribut des Label-Elements nicht das id überein Attribut des Eingangs

'dentist_detail_name' != 'dentist_detail_dea_license_number' 

daher das Etikett tatsächlich nicht mit dem Eingang verbunden ist (Etikett muss entweder Wrap der Eingang oder for muss übereinstimmen id).

+0

Danke Thomas für die Hilfe eines Neulings. Ich bin dankbar dafür. – Foosaurus

1

Ich denke, es ist etwas falsch mit Ihrem Label ist. Es sollte

sein
<%= f.label :dea_license_number, "DEA License Number" %> 

Gib das einen Versuch?

Verwandte Themen