Параметры формы отсутствуют с link_to :remote =› true и CapyBara

У меня есть удаленный link_to, определенный как таковой

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

При нажатии на эту ссылку вручную в браузере все работает должным образом, и правильные параметры отправляются в действие обновления, и все хорошо.

При запуске теста для репликации этого с использованием Turnip, RSpec, Capybara и Poltergeist мне не повезло, и это связано с отсутствием параметров формы, например: «параметр отсутствует или значение пусто:»

Является ли это ограничением Полтергиста? или проблема с конфигурацией?

Тест успешно щелкает эту ссылку, и правильное действие вызывается с помощью HttpMethod of PATCH, как и ожидалось — просто для формы отсутствуют параметры.


person Grant Trevor    schedule 30.01.2015    source источник


Ответы (1)


См. https://github.com/teampoltergeist/poltergeist/issues/532... и https://github.com/ariya/phantomjs/issues/11384

Похоже, это проблема полтергейста. Чтобы это работало:

  • Используйте только GET или POST в методе данных
  • Установите исходный метод http в параметрах данных как атрибут _method

Для вашей ссылки:

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

... или что-то вроде того.

person mmichaa    schedule 17.07.2015