如何将 devise_for 控制器重定向到非默认设备

how to redirect devise_for controller to other than default devise

我有

devise_for :user, path: 'v1/user', class_name: "V1::User",controllers: {sessions: 'v1/sessions'

我喜欢让它重定向所有会话,包括:omniauth_callbacks 到 v1/sessions

或类似这样的东西

devise_for:用户,路径:'v1/user',class_name:"V1::User",控制器:{会话:'v1/sessions'},控制器:{omniauth_callbacks: 'v1/sessions'}

会出错

warning: key :controllers is duplicated and overwritten on line 16

只需在控制器哈希中包含 omniauth_callbacks 键。

devise_for :user, path: 'v1/user', class_name: "V1::User",controllers: {sessions: 'v1/sessions', omniauth_callbacks: 'v1/sessions'}

现在您的电子邮件登录和 oauth 登录都将重定向到 v1/sessions

如我的评论所述,您可以向控制器哈希添加另一个选项:

{ sessions: 'v1/sessions', omniauth_callbacks: 'v1/sessions' }