使用post方法和params将用户重定向到外部URL

时间:2015-03-17 15:45:48

标签: ruby-on-rails redirect http-post httparty

如何通过post方法将用户重定向到外部网址?我知道redirect_to仅适用于get个请求。我如何实现这一目标?

1 个答案:

答案 0 :(得分:4)

您无法将用户重定向到POST方法。您可以向用户显示Rails JS将转换为表单/ 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

为您提供一些选择。