取消后设计重定向

Devise Redirect After Cancellation

我想在客户取消订阅后将其重定向到调查,但很难在重定向到调查的同时销毁会话。

organizations_controller.rb:

def cancel
    if @organization.subscription.cancel
      redirect_to "http://example.com/contact/cancel?organization=#{@organization.resource_id}"
    else
      flash[:error] = "An error has occurred."
      redirect_to settings_profile_path
    end
  end

我如何利用设计 destroy_user_session_path 并在不覆盖普通用户注销的重定向路径的情况下同时重定向到 suvery。我只需要在组织取消时使用它。

我不太明白你的问题。你想销毁会话从而注销用户吗?如果是这样,试试这个:在你的应用程序控制器中添加这个私有方法

def after_sign_out_path_for(user)
  if blah
    redirect_to :foo
  else
    redirect_to :bar        
  end
end

sign_out_all_scopes(lock=true)(设计助手)替换 destroy_user_session_path 就成功了。

def cancel
    if @organization.subscription.cancel
      sign_out_all_scopes(lock=true)
      redirect_to "http://example.com/contact/cancel?organization=#{@organization.resource_id}"
    else
      flash[:error] = "An error has occurred."
      redirect_to settings_profile_path
    end
  end