首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Capybara中的data-method="POST“单击链接

使用Capybara中的data-method="POST“单击链接
EN

Stack Overflow用户
提问于 2021-10-05 14:37:28
回答 1查看 201关注 0票数 0

虽然这应该是用户行为的直接结果,但似乎不可能在Capybara上发送一个POST请求。例如,使用data-method="POST"链接,然后单击该链接将引发服务器错误:

代码语言:javascript
运行
复制
No route matches [GET] "blabla"

这是有意义的,因为它应该是PUT请求(如其属性中所指定的)。找到了一些关于Capybara无法直接发送POST请求的相关帖子,但没有发现与data-method属性集有关的链接。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-05 16:11:27

使用“数据-方法”依赖于使用Rails不引人注目的Javascript驱动程序创建离散表单并将其发布到服务器。如果Rails UJS没有正常运行,或者客户端不支持JS,那么就会发送普通的GET请求--毕竟,它只是一个链接,浏览器在单击链接时发送GET请求。

Capybara默认使用不运行javascript的RackTest驱动程序。它实际上不是一个真正的浏览器--它更像是一个运行在XML解析器之上的浏览器模拟器。

您需要使用button_to来创建一个实际的表单元素,它根本不依赖于JS,或者使用换个凯巴拉的司机来运行javascript (比如硒网络驱动程序幻影 )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69452452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档