2016-02-17 100 views
0

我是Rails的新手,我无法在注销用户后重定向到根URL,我已经检查了很多解决方案,但都使用了相同的方法redirect_to,当我使用redirect_to重定向到根URL,然后它添加了两次相同的URL。请参阅下面的代码。Redirect_to无法重定向到根网址Rails 2.3.18

def user_logout 
    redirect_to URI(request.env["HTTP_REFERER"]).host 
end 

它工作正常,但添加了根URL两次,像test.comtest.com

+1

你为什么要使用Rails 2.3.18?它的古老,你应该开始使用Rails 4,并确保你在以下几年写的教程/材料。 – max

+2

它可能是遗留项目 – Ilya

+0

请用'routes.rb'代码更新问题。 – Pavan

回答

1

Normaly你应该使用root_path一个路线帮手一种方法,在意见提出来获取根路径。

如果你想解析一个url,你需要调用URI的解析方法,然后你可以向uri对象请求一个属性。

URI.parse("https://www.google.com/some/path").host 

uri = URI.parse("https://www.google.com/some/path") 
uri.host # => "www.google.com" 
uri.path # => "/some/path" 
uri.query # => nil 
uri.scheme # => "https" 
uri.port # => 443 
+0

你能告诉我为什么根URL会出现两次。 – user3906755

+0

我检查了这个代码和相同的问题,并且在我的控制器URI中使用了相同的代码(request.env [“HTTP_REFERER”])。host – user3906755

+0

对不起,我试图弄清楚它。但我不能。你使用哪个Ruby版本?如果使用解析方法,会发生什么? – guitarman

相关问题