2012-06-28 43 views
0

有没有办法编写Rails方法,它将注销并重定向到自定义页面?我正在使用Devise身份验证宝石。设计认证:注销并重定向

我不希望所有注销后都会出现此重定向,但仅限于调用此方法的位置。

回答

6

这取决于你以重定向到一个地方或其他条件,但这里是我在我的应用程序做重定向不同,这取决于我的用户的角色:

添加为在的ApplicationController的私有方法:

private 

    def after_sign_out_path_for(resource_or_scope) 
    # If it's admin 
    if is_admin?(current_user) 
     admin_path 
    # Otherwise 
    else 
     root_path 
    end 
    end 

基本上,你需要找到你需要在after_sign_out_path应用和相应的回报,以该条件的路径,其条件。请注意,您会得到一个带有示波器的符号,因此您可以使用它来选择返回的重定向路径。

+0

所以,看来,我应该定义一组自定义标志,每个标志位置。作为这样的标志,我可以用目标路径设置一些全局变量。 – Paul

+0

如果你可以通过示波器做到这一点,我认为它更清洁,但还有其他的方法是... – Nobita

+0

你只回答了一半的问题。 – Noz