Необходимо перенаправить на домашнюю страницу, если пользователь уже вошел в систему

0

Я использую omniauth с devise. мой контроллер ниже

 class OmniauthCallbacksController < Devise::OmniauthCallbacksController
      def facebook
        # You need to implement the method below in your model (e.g. app/models/user.rb)
        @user = User.from_omniauth(request.env["omniauth.auth"])



        if @user.persisted?
          sign_in_and_redirect @user, :event => :authentication #this will throw if @user is not activated
          set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format?
        else
          # session["devise.facebook_data"] = request.env["omniauth.auth"]
          redirect_to new_user_registration_url
        end
      end
    end

это перенаправить пользователя на страницу регистрации, если пользователь уже подписал и продолжает.что я делаю изменения, чтобы перенаправить пользователя на домашнюю страницу.......????? помогите мне

Теги:
devise
ruby-on-rails-3

1 ответ

0

Установили ли вы путь sign_in?

#application_controller.rb
def after_sign_in_path_for(resource_or_scope)
  case resource_or_scope
  when :user, User

    root_path
  else
    super
  end
end

Пример Rails разрабатывается с помощью omniauth

Пример кода

если вы столкнулись с другими ошибками, пожалуйста, вставьте здесь

  • 0
    извините, я вас не понял ... вы можете сказать мне более кратко? Можете ли вы дать мне свой FB или скайп контакт .. так что мы можем общаться easilly .... ????
  • 0
    @faysal - настроили ли вы после входа в свой путь в контроллере приложения? Когда ваш обратный вызов omniauth авторизован с использованием вашего имени пользователя и пароля в Facebook, он будет называть ваш путь sign_in после пути sign_in, пожалуйста, дайте мне знать, если вы все еще сталкиваетесь с ошибкой

Ещё вопросы

Сообщество Overcoder
Наверх
Меню