Ruby on rails 水豚不使用x-可编辑表单

Ruby on rails 水豚不使用x-可编辑表单,ruby-on-rails,twitter-bootstrap,cucumber,capybara,poltergeist,Ruby On Rails,Twitter Bootstrap,Cucumber,Capybara,Poltergeist,我试图在Rails 4、Bootstrap 3和Bootstrap editable Rails 0.0.7上使用capybara和poltergeist测试我的内联可编辑元素,并遵循中的示例。水豚似乎在点击元素,但它们从未转换为表单元素。在开发模式下浏览UI时,它可以正常工作 <a class="edit_form" id="edit-note-category-<%= jira.id %>" href="#" data-type="select" data-sou

我试图在Rails 4、Bootstrap 3和Bootstrap editable Rails 0.0.7上使用capybara和poltergeist测试我的内联可编辑元素,并遵循中的示例。水豚似乎在点击元素,但它们从未转换为表单元素。在开发模式下浏览UI时,它可以正常工作

<a class="edit_form" id="edit-note-category-<%= jira.id %>" href="#" data-type="select" 
    data-source="<%=@note_categories%>" data-value="<%=note.note_category.try(:id) %>" 
    data-resource="note" data-name="note_category_id" data-pk="<%=note.id%>" 
    data-url="/correct/path">
</a>

# CUCUMBER STEP DEFINITIONS
When(/^I click the element for the (.*?)$/) do |element|  
    element = element.downcase.gsub(' ', '-')  
    elem_id = "#edit-#{element}-#{@jira.id}"  
    find(elem_id).trigger('click')  
end

When(/^I change the note's category to "(.*?)"$/) do |category_name|
    select category_name
end

#黄瓜步骤定义
当(/^I单击(.*?$/)do |元素的元素时
element=element.downcase.gsub(“”“-”)
elem_id=“#edit-#{element}-#{@jira.id}”
find(elem_id).trigger('click')
结束
当(/^我将便笺的类别更改为“(.*?”$/)时,请使用类别名称|
选择类别名称
结束

尝试选择类别名称时,此测试失败,出现ElementNotFound异常。dev模式下的html显示在单击元素后创建了select,但相同操作后的屏幕截图测试中没有显示这样的select元素

我知道你问这个问题已经很久了,但我在遇到可能是同一个问题时偶然发现了这个问题。我已经设置了X-Editable,以便在更新字段时发出补丁请求。这在生产/开发中效果很好,但是当我们想要为它添加一个特性规范时,我们遇到了困难。我使用selenium驱动程序对其进行了测试,这也很有效。问题显然在于使用恶作剧

事实证明,PhantomJS(Poltergeist的底层引擎)目前在发出补丁请求()时存在一个bug。虽然拥有更多的语义会更好,但我的解决方案是将请求更改为PUT

大概是这样的:

function enableInlineEditable() {
  $('.inline-editable').editable({
    ajaxOptions: { type: 'PUT' },
  });
}