我有这个:
<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填写该字段?
答案 0 :(得分:115)
fill_in
接受id作为第一个参数:
fill_in 'course_group_courses_attributes_2_name', :with => 'some text'
答案 1 :(得分:29)
你也可以这样做:
find('Id or class here').set('some text')
答案 2 :(得分:6)
fill_in
接受没有#符号的id,我发现这个符号最初很混乱。另请注意,如果您的输入字段位于模态中,则可能需要等待转换或淡入才能填写字段。
答案 3 :(得分:3)
如果您正在使用 simple_form gem,那么您必须注意它会自动识别您的表单元素,因此手动识别元素本身是徒劳的!
有;但是,simple_form遵循id表单元素的命名约定。
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需求。希望这会有所帮助。