Rails 3:redirect_to指定主机不起作用

时间:2013-03-01 14:14:23

标签: ruby-on-rails redirect subdomain

我想将用户重定向到命名路由,但要重定向到不同的子域。我认为将主机指定为redirect_to的最后一个参数会做到这一点,但它只是不起作用。这是我正在使用的代码:

redirect_to(log_in_url(return_to: request.fullpath), host: "https://acme.lvh.me:3000/")

由于某些原因不起作用。这是一个场景,发生了什么:

  • 我在https://oauth.lvh.me:3000/oauth/authorize
  • 我使用上面指定的redirect_to方法。
  • 它将我重定向到https://oauth.lvh.me:3000/log_in
  • 应该将我重定向到https://acme.lvh.me:3000/log_in

我做错了什么?

2 个答案:

答案 0 :(得分:0)

我自己发现了这个问题。首先,host: "https://acme.lvh.me:3000/应该是host: acme.lvh.me。其次,该选项应该传递给log_in_url方法而不是return_to方法!

答案 1 :(得分:0)

我认为应该很简单。试试这样的事情:

redirect_to request.url.sub('oauth', 'acme')