ruby - redirect_to(url,:myparam =>'abc')

Ale*_*Fox 4 ruby-on-rails param redirecttoaction

我无法解决这个问题.

url = "www.mysite.com/?param1=abc"

redirect_to(url, :param2 => 'xyz')

### Should this go to - www.mysite.com/?param1=abc&param2=xyz
Run Code Online (Sandbox Code Playgroud)

或者我错过了什么?它似乎不起作用?

Thi*_*ilo 10

文档:

redirect_to(options = {},response_status = {})

将浏览器重定向到选项中指定的目标.此参数可以采用以下三种形式之一:

哈希 - 将通过使用选项调用url_for生成URL.

记录 - 将通过使用选项调用url_for生成URL,该选项将引用该记录的命名URL.

以protocol://开头的字符串(如http://)或协议相对引用(如//) - 作为重定向目标直接传递.

你传递一个String作为第一个参数,所以它使用第三个选项.您的第二个参数被解释为参数的值response_status.

因此,如果您的重定向是内部重定向(到同一个应用程序),则无需指定方案和主机名.只是用

redirect_to root_url(param1 => 'abc', param2 => 'xyz')
Run Code Online (Sandbox Code Playgroud)

如果是外部URL,请在重定向之前构建完整的 URL:

url = "www.mysite.com/?param1=abc&params2=xyz"
redirect_to url
Run Code Online (Sandbox Code Playgroud)