以编程方式从Rails发布表单

时间:2009-04-30 17:11:09

标签: ruby-on-rails

如何从一些Rails代码中创建和发布表单POST请求? 我的用例是我收到了一份表单请求,我想将此请求转发给我的参数完整的第三方。

我应该补充一点,我想将用户重定向到带有该表单的第三方。

3 个答案:

答案 0 :(得分:1)

来自ruby docs for Net::HTTP

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

你可以将params作为第二个arg传递,例如:

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

另外,不要忘记要求lib:

 require 'net/http'
 require 'uri'

答案 1 :(得分:0)

您可以这样做:

  1. 收到用户的帖子
    • 更改您的意思
    • 使用包含隐藏字段的表单回复请求
    • 通过dom-loaded
    • 上的javascript自动将该表单发布到第三方
  2. 可替换地:

    1. 将表单操作设置为第三方网址
    2. 使用js拦截onsubmit事件
      • 通过简单的客户端操作表单
      • 来更改您需要的任何数据
      • 或者,向您的应用发布ajax请求以处理数据,并从ajax响应中替换您需要的字段
      • 现在按摩数据,让表格进入第三方

答案 2 :(得分:0)

您将不得不通过Javascript执行此操作,因为无法重定向POST请求(as per the HTTP/1.1 protocol)。