【问题标题】:Form Parameters not present with link_to :remote => true and CapyBara表单参数不存在于 link_to :remote => true 和 CapyBara
【发布时间】:2015-01-30 05:43:08
【问题描述】:

我有一个这样定义的远程 link_to

link_to "Publish", resource_path, data: { method: :patch, remote: true, params: { resource:{ published: true } }.to_param }

在浏览器中手动单击此链接时,一切都按预期工作,并且正在将正确的参数发送到更新操作,一切都很好。

当使用 Turnip、RSpec、Capybara 和 Poltergeist 运行测试以复制此内容时,我没有这样的运气,这是由于表单参数不存在,即:“参数丢失或值为空:”

这是 Poltergiest 的限制吗?还是配置问题?

测试已成功单击此链接,并且按预期使用 PATCH 的 HttpMethod 调用了正确的操作 - 只是表单没有参数。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 rspec capybara poltergeist


    【解决方案1】:

    https://github.com/teampoltergeist/poltergeist/issues/532 ...和https://github.com/ariya/phantomjs/issues/11384

    这似乎是一个 Poltergeist 问题。让它发挥作用:

    • 仅在数据方法中使用 GET 或 POST
    • 将 data-params 中的原始 http 方法设置为 _method 属性

    为您的链接:

    link_to "Publish", resource_path, data: { method: :post, remote: true, params: { _method: :patch, resource:{ published: true } }.to_param }
    

    ...或类似的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 2021-07-20
      • 2016-04-28
      • 2017-06-11
      相关资源
      最近更新 更多