Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Capybara/Selenium Webdriver+数据表播放不好_Ruby On Rails_Rspec_Selenium Webdriver_Capybara - Fatal编程技术网

Ruby on rails Capybara/Selenium Webdriver+数据表播放不好

Ruby on rails Capybara/Selenium Webdriver+数据表播放不好,ruby-on-rails,rspec,selenium-webdriver,capybara,Ruby On Rails,Rspec,Selenium Webdriver,Capybara,我有一个页面,一旦加载,就会调用两个不同表上的DataTables。但是,在页面加载时,第二个表出错。以下是错误: DataTables警告:表id=DataTables\u table\u 1-Ajax错误。有关此错误的详细信息,请参阅http://datatables.net/tn/7 令人恼火的是,如果我在Capybara中的页面加载之后放置了一个调试器,我可以单击错误关闭它,然后使用页面上的按钮手动重新加载DataTable中的数据,并且工作正常。同样奇怪的是,页面上的第一个DataTa

我有一个页面,一旦加载,就会调用两个不同表上的DataTables。但是,在页面加载时,第二个表出错。以下是错误:

DataTables警告:表id=DataTables\u table\u 1-Ajax错误。有关此错误的详细信息,请参阅http://datatables.net/tn/7

令人恼火的是,如果我在Capybara中的页面加载之后放置了一个调试器,我可以单击错误关闭它,然后使用页面上的按钮手动重新加载DataTable中的数据,并且工作正常。同样奇怪的是,页面上的第一个DataTable加载良好,并且它在中断的DataTable之前调用了DataTable。我认为可能是服务器端返回信息以填充表的问题,但事实证明,在我点击“重新加载”按钮之前,它不会影响服务器。如果我加载的另一个页面上只有一个DataTable,它会显示相同的错误。这很奇怪,因为页面上有两个表的第一个表被加载,但是页面上有一个表的一个表会自动中断

有人见过这样的东西吗?我会发布我的水豚代码,但实际上只是访问导致问题的页面,一点也不奇怪


一开始我认为这是一个JS调用太快的问题,但是一个页面有一个表中断,而另一个页面只有第二个表中断,这有点奇怪。同样,它从来不会影响到应该加载页面的服务器,因此在后端什么都不是。不确定从何处开始。

在进一步调试之后,我意识到日志中没有显示一个细微的错误,因为服务器日志没有在我的测试环境中打印414错误发生。Capybara显然阻止了长GET请求,尽管主流浏览器现在支持它们,所以我在这里发布了一个问题:


我不想使用POST作为索引路由:

经过更多的调试后,我意识到日志中没有显示一个细微的错误,因为服务器日志没有在我的测试环境中打印414错误发生。Capybara显然阻止了长GET请求,尽管主流浏览器现在支持它们,所以我在这里发布了一个问题:


我不希望使用POST作为索引路由:

从2.7.0版开始,Capybara支持本地服务器配置

只需将gem“puma”添加到gem文件中,并将以下行添加到rails_helper.rb:

Capybara.server=:puma


这将解决414请求URI过大的错误,Datatables将与Capybara一起正常工作。

从2.7.0版开始,Capybara本机支持服务器配置

只需将gem“puma”添加到gem文件中,并将以下行添加到rails_helper.rb:

Capybara.server=:puma


这将解决414请求URI过大的错误,Datatables将与Capybara一起正常工作。

太棒了!我也有同样的问题,太棒了!我也有同样的问题。