2014-01-06 36 views
1

如果“root_path”将您带到根页面,那么将您重定向到同一页面的等效路径是什么?重定向到Rails中相同页面的路径?

下面是上下文:我使用Devise在Rails 4.0应用程序中登录用户,如果登录失败,我的“custom_failure.rb”文件当前会将用户重定向到根页面。

现在,失败的登录将使用户进入根路径。但登录表单位于网站上的每个页面上,如果有人在页面X上登录失败,我希望该用户留在页面X上(或者至少将其重定向回来)。

这里是我的 “custom_failure.rb” 文件现在:

class CustomFailure < Devise::FailureApp 
    def redirect_url 
    root_path 
    end 
. 
. 
end 

我应该键入取代 “root_path”?

回答

5

可以使用request.referrer重定向到同一页面

+0

这不起作用。当我登录失败时,浏览器会将我带到路由“/ unauthenticated”,并且我收到以下消息:'没有路由匹配[GET]“/ unauthenticated”。 – drumwolf

+0

它被拼写为“引用者”,而不是“引用者”,但它的确有窍门!谢谢! – drumwolf

+0

oops sorry.typo.please接受答案,如果它解决了问题 – junil

1

你试过redirect_back_or_to signin_path?它可能有帮助。

2

您可以使用redirect_to :back 方法。执行控制器后,它将重新加载相同的页面。

相关问题