Rails 手动命名标签时系统测试失败
Rails system tests fail when I manually name a label
在一个表单中,我手动命名了一个标签:
<%= 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
我有点不知所措。感谢新手支持
我认为你的标签有问题。应该是
<%= f.label :dea_license_number, "DEA License Number" %>
试试看?
当您查看生成的 HTML 时,标签元素的 for
属性与输入
的 id
属性不匹配
'dentist_detail_name' != 'dentist_detail_dea_license_number'
因此标签实际上并未与输入相关联(标签必须包装输入或 for
必须匹配 id
)。
在一个表单中,我手动命名了一个标签:
<%= 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
我有点不知所措。感谢新手支持
我认为你的标签有问题。应该是
<%= f.label :dea_license_number, "DEA License Number" %>
试试看?
当您查看生成的 HTML 时,标签元素的 for
属性与输入
id
属性不匹配
'dentist_detail_name' != 'dentist_detail_dea_license_number'
因此标签实际上并未与输入相关联(标签必须包装输入或 for
必须匹配 id
)。