Отправка формы из Rails программно - PullRequest
2 голосов
/ 30 апреля 2009

Как мне создать и опубликовать POST-запрос формы из некоторого кода Rails?
У меня есть вариант использования: я получил запрос на форму, и я хотел бы переслать этот запрос третьей стороне с неизменными параметрами.

Я должен добавить, что я хочу перенаправить пользователя третьему лицу с помощью формы тоже.

Ответы [ 3 ]

1 голос
/ 30 апреля 2009

Из ruby ​​docs для Net :: HTTP :

 res = Net::HTTP.post_form(URI.parse('http://www.example.com/search.cgi'),
                              {'q'=>'ruby', 'max'=>'50'})

Вы можете просто передать params в качестве второго аргумента, например:

 Net::HTTP.post_form(URI.parse('http://www.example.com/search.cgi'), params)
 redirect_to some_path

Также не забудьте запросить lib:

 require 'net/http'
 require 'uri'
0 голосов
/ 11 мая 2009

Вам нужно будет сделать это через Javascript, поскольку нет способа перенаправить запрос POST ( согласно протоколу HTTP / 1.1 ).

0 голосов
/ 01 мая 2009

Вы можете сделать это следующим образом:

  1. получить сообщение от пользователя
    • измените любые данные на
    • ответить на запрос с помощью формы, заполненной скрытыми полями
    • автоматически отправлять эту форму третьему лицу через javascript на dom-загружен

С другой стороны:

  1. установить для действия формы URL-адрес третьей стороны
  2. перехватить событие onsubmit с помощью js
    • измените любые данные, которые вам нужны, либо простым манипулированием на стороне клиента в форме
    • или опубликуйте запрос ajax в своем приложении для обработки данных и замените необходимые поля из ответа ajax
    • с данными, теперь массируемыми, пусть форма передается третьей стороне
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...