我正在构建一个要向其发送电子邮件的用户列表,其编码为(haml,尽管这不是重点)
- @users.each do |user|
.field<
= check_box_tag "user_ids[#{user.id}]",user.id
%nbsp
= user.name
代码工作正常(尽管它可能会被重构)。但是,我在编写 Capybara 测试时遇到问题,因为对象 ID 会随着时间而变化。例如,我有以下黄瓜测试:
.....
Given user "User one" exists
And "User two" esists
......
When I check "user_ids_152"
And I check "user_ids_153"
.....
我得到 Capybara::ElementNotFound: cannot check field, no checkbox with id, name, or label 'user_ids_152' found
因为用户 ID 现在是 272。我在 SO 上搜索并找不到合适的解决方案。
建议?