Ruby on rails 并点击方法+;简单表单[javascript错误]

Ruby on rails 并点击方法+;简单表单[javascript错误],ruby-on-rails,capybara,simple-form,Ruby On Rails,Capybara,Simple Form,我正在使用minitest、capybara和poltergeist,这是测试的简单形式: <%= simple_form_for :search, url: ads_path , wrapper: :inline_form, html: {class: 'form-inline'}, :method => :get do |f| %> <%= f.error_notification %> <%= f.input :type_id, collect

我正在使用minitest、capybara和poltergeist,这是测试的简单形式:

<%= simple_form_for :search,  url: ads_path , wrapper: :inline_form, html: {class: 'form-inline'}, :method => :get do |f| %>
  <%= f.error_notification %>
  <%= f.input :type_id, collection: @types, label_html: {class: 'form_home'}, selected: 'house'%>
  <%= f.input :city, label: 'Where?', placeholder: 'What is the city ?'%>
  <br>
  <br>
  <%= f.submit "Search", :class => "btn btn-primary btn-xl page-scroll" %>
<% end %>
终端上的javascrip错误:

Capybara::Poltergeist::JavascriptError:
Capybara::Poltergeist::JavascriptError:引发了一个或多个错误 在页面上的Javascript代码中。如果你不在乎这些 错误,您可以通过在应用程序中设置js_errors:false来忽略它们 Poltergeist配置(有关详细信息,请参阅文档)

错误:边界无效。
错误:边界无效。
在http://127.0.0.1:43411/assets/application-1442915127E4FA1072F69AA9AA4D07CE85CDC51515DF9B3A40DA528EE05EBFE94.js:43537
在http://127.0.0.1:43411/ads?utf8=%E2%9C%93&search%5Btype_id%5D=1&search%5Bcity%5D=&commit=Search:135
测试/集成/主测试。rb:16:in‘block in’

还有其他选择吗?

您有两个选择,修复JS或禁用错误消息中提到的JS错误报告

要修复JS,可以从查看组合JS行43537开始,查看它记录“Bounds is not valid”的原因,或者在开发模式下执行相同的操作,找出哪个JS文件产生错误,然后从那里开始调试

另一方面,如果您不关心修复错误的原因(尽管您应该关心),那么您可以将驱动程序配置为不报告JS错误

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, js_errors: false)
end

正如《恶鬼自述》中提到的-

感谢您的回答,并对延迟表示抱歉。我尝试了你伤心的事情,但无法解决这个问题,但我决定去Rspec,因为其他原因!现在我很好;)
    Error: Bounds are not valid.
    Error: Bounds are not valid.
        at http://127.0.0.1:43411/assets/application-1442915127e4fa1072f69aa9aa4d07ce85cdc5115df9b3a40da528ee05ebfe94.js:43537
        at http://127.0.0.1:43411/ads?utf8=%E2%9C%93&search%5Btype_id%5D=1&search%5Bcity%5D=&commit=Search:135
        test/integration/home_test.rb:16:in `block in <class:HomeTest>'
Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, js_errors: false)
end