在表单中,我手动命名了一个标签:
<%= f.label :name, "DEA License Number" %>
<%= f.text_field :dea_license_number, class: 'form-control' %>
HTML看起来像这样:
<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" />
我的系统测试:
fill_in "DEA License Number", with: "999999"
当我运行测试时,我得到了这个:
Error:
SignUpJobSeekersTest#test_Sign_Up_Job_Seekers:
Capybara::ElementNotFound: Unable to find visible field "DEA License Number" that is not disabled
我有点失落。感谢您支持新手。
答案 0 :(得分:1)
我认为你的标签有问题。它应该是
<%= f.label :dea_license_number, "DEA License Number" %>
试一试?
答案 1 :(得分:1)
当您查看生成的HTML时,label元素的for
属性与输入的id
属性不匹配
'dentist_detail_name' != 'dentist_detail_dea_license_number'
因此标签实际上与输入无关(标签必须包裹输入或for
必须与id
匹配)。