使用 post 方法和参数将用户重定向到外部 url

Redirect user to external url with post method and params

如何通过 post 方法将用户重定向到外部 url?我知道 redirect_to 仅适用于 get 请求。我该如何实现?

您不能将用户重定向到 POST 方法。您可以向用户显示 link,Rails JS 将变成 form/POST:

= link_to "Do it!", "http://other.site/path", method: :post

...或触发 POST 到另一个站点的表单(请注意,我在其中包含了一个额外的参数)例如

= form_tag "http://other.site/path", method: :post do
  = hidden_field_tag :foo, "Bar"
  = submit_tag "Do it!"

...或者您可以代表您的用户从服务器端自己发出请求(这里我使用的是 httparty gem),请注意我包括相同的内容foo=Bar 参数:

class YourController < ApplicationController
  include HTTParty

  def some_action
    self.class.post "http://other.site/path", query: { foo: "Bar" }
  end
end

几个选项供您选择。