我有这个:
<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>
如何通过 ID 填写该字段?
fill_in
接受 id 作为第一个参数:
fill_in 'course_group_courses_attributes_2_name', :with => 'some text'
你也可以这样做:
find('Id or class here').set('some text')
fill_in
接受没有 # 符号的 id ,我一开始觉得很困惑。另请注意,如果您的输入字段处于模式中,您可能需要等待过渡或淡入才能填写该字段。
如果您使用的是simple_form gem,那么您必须注意它会自动识别您的表单元素,因此您自己手动识别元素是徒劳的!
有; 然而,simple_form 遵循的命名约定来标识表单元素。
object_attribute
因此,如果您要为联系对象填写信息,如下所示:
= simple_form_for @contact do |f|
= f.input :first_name
= f.input :last_name
simple_form 将自动为每个表单元素分别生成 id,如下所示:
id="contact_first_name"
id="contact_last_name"
现在您可以简单地使用这个命名约定来满足您所有的 fill_in 需求。希望这可以帮助。