水豚:如何点击 rspec 中的第一个按钮?

Capybara: How to hit the first button in rspec?

这是 Rails 4 规范中 2 个 Save 按钮的 html 源代码。程序应该点击第一个Save:

<div class="btn-toolbar">
 <a class="btn btn-primary" href="/view_handler?index=0">
  <span class="translation_missing" title="translation missing: en.Back">Back</span>
 </a>
 <input class="btn btn-default btn btn-primary" name="commit" value="Save" type="submit">
 <input class="btn btn-default btn btn-primary" name="commit" value="Save & New" and_new="true" type="submit">
</div>`

这是我试过的代码:

first('input.btn.btn-default').click_button 'Save'

返回的错误是:

Capybara::ElementNotFound: Unable to find button "Save"

在规范中单击按钮 Save 的正确方法是什么?

按钮有不同的文本值,一个是 'Save',另一个是 'Save & New'

within '.btn-toolbar' do
  click_button 'Save'
end

应该适合你的情况。