如何在不使用表单的情况下从rails app发布到外部URL

Vij*_*ena 2 ajax ruby-on-rails payment-gateway

我可以使用html表单发布到我的支付网关.但我有了新的要求.现在,点击"付款"按钮,我必须验证项目是否仍可供购买,如果可用,则自动将付款表单发布到网关.

所以说,我想在按钮点击时执行一些rails控制器代码,然后如果验证成功,则想要使用params重定向到外部URL(支付网关).

我看过,在rails中使用redirect_to是不可能的.也不可能使用ajax发布到外部URL.我应该如何实现它?

Sha*_*med 7

您可以像这样使用Ruby的Net :: HTTP:

require "net/http"
require "uri"

uri = URI.parse("http://example.com/search")
params = {"foo" => "value one", "bar" => "value two"}


# Shortcut way
response = Net::HTTP.post_form(uri, params)


# With more control
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data(params)
response = http.request(request)


puts response.code             # => 200
puts response.body             # => The body (HTML, JSON, etc)
Run Code Online (Sandbox Code Playgroud)