2014-10-03 108 views
1

我一直在更新我的表单,现在有一种模式允许创建链接模型。无论是模态窗体本身有一个名为“保存”按钮,我与水豚靶向检查对象开始使用成功创建:如何使用ERB为一个提交按钮生成一个唯一的ID

(page).click_button('Save') 

现在,我已经添加了莫代尔,有两个按钮具有相同的名称,我想不同的ID通过他们再培训局的代码生成一个自动:

<%= f.submit "Save", class: "btn btn-large btn-success"%> 

如何做到这一点与ERB?我尝试过使用html:{id:“Something else”},但这不起作用。

另外,有另一种机制来获得水豚点击一个特定的按钮(如click_button_first(“保存”)或类似的(我似乎无法找到相应文件,这样的东西)。

回答

2

有具有相同名称的两个按钮,我想不同的ID通过他们再培训局的代码生成一个自动

你可以给IDS提交这样的按钮:

<%= f.submit "Save", class: "btn btn-large btn-success", id: "some-id"%> 

另外,有另一种机制来获得水豚点击一个特定的按钮

如果你不想分配ID,那么你可以简单地窝您的按钮选择适当,然后用它,这样的事情:

page.find(".btn").click #this will target button with class btn 
page.find("#some-modal-id .btn").click #this will target button inside a modal 
+1

谢谢 - 我用后一种方法只是针对css选择器内的按钮 – Zoinks10 2014-10-03 05:31:57

0

鉴于你可以这样做:

<%= f.submit "Save", class: "btn btn-large btn-success" id:'btn_id'%> 

在步骤定义,你可以这样做

find(:xpath, "xpath_of_btn").click 
find("#btn_id").find("Save").click