С помощью Devise, как я могу принудительно перенаправить местоположение после входа?

Я использую эту строку после аутентификации с помощью Omniauth:

sign_in_and_redirect @user, :event => :authentication

Но в этом конкретном случае я хочу изменить местоположение перенаправления, независимо от любого сохраненного местоположения.

Что-то вроде:

sign_in_and_redirect(@user, :event => :authentication, :redirect_to => '/settings')
1 ответ

Ну, вы можете переместить свой путь after_sign_in_ в этом контроллере следующим образом:

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

private

 def after_sign_in_path_for(resource)
 if resource.is_a?(User)
 WHEREVER YOU WANT TO REDIRECT THEM
 end
 end
end

licensed under cc by-sa 3.0 with attribution.