我可以使用html表单发布到我的支付网关。但我有了新的要求。现在,点击"付款"按钮,我必须验证项目是否仍然可以购买,如果可用,然后自动将付款表格发布到网关。
所以说,我想在按钮点击时执行一些rails控制器代码,然后如果验证成功,则想要使用params重定向到外部URL(支付网关)。
我看过,在rails中使用redirect_to是不可能的。也不可能使用ajax发布到外部URL。我应该如何实现它?
答案 0 :(得分: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)