我可以使用 html 表单发布到我的支付网关。但是我有一个新的要求。现在,单击“付款”按钮后,我必须验证项目是否仍可购买,如果可用,则自动将付款表格发布到网关。
也就是说,我想在单击按钮时执行一些 Rails Controller 代码,然后如果验证成功,则希望使用参数重定向到外部 URL(支付网关)。
我读到了,在 rails 中使用 redirect_to 是不可能的。也不能使用 ajax 发布到外部 url。我应该如何实现它?
最佳答案
您可以使用 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)
关于ruby-on-rails - 如何在不使用表单的情况下从 Rails 应用程序发布到外部 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29816455/