redirect_to外部URL传递参数

时间:2013-08-28 18:54:37

标签: ruby-on-rails-3 controller

我需要将redirect_to方法中的params传递给外部URL ...

我知道我可以通过重定向做这样的事情:

redirect_to my_url_path(param1: "foo", param2: "bar")

但我想用外部网址来做这件事。例如:

redirect_to "www.example.externaldomain.com/process/XIGHTDJTRIDEOR", param1: "foo", param2: "bar"

1 个答案:

答案 0 :(得分:17)

您可以使用ruby URI模块并创建自己的帮助程序:

def generate_url(url, params = {})
  uri = URI(url)
  uri.query = params.to_query
  uri.to_s
end

然后只需获取网址:

redirect_to generate_url("www.example.externaldomain.com/process/XIGHTDJTRIDEOR", :param1 => "foo", :param2 => "bar")