#ruby-on-rails #iphone #ruby #safari #devise
#ruby-on-rails #iPhone #ruby #safari #разработка
Вопрос:
Я сталкиваюсь со странной проблемой при использовании devise с Safari (как для настольных компьютеров, так и для мобильных устройств). Когда пользователь пытается войти в систему, в первый раз он перенаправляется на домашнюю страницу БЕЗ входа пользователя. Но когда я снова нажимаю «Войти» или перехожу на домашнюю страницу в новом браузере, пользователь входит в систему, и все работает.
В Chrome и Firefox все работает нормально. Вход с паролем также отлично работает в Safari. Проблемы возникают только из-за входа в систему Omniauth в Safari.
В моем OmniauthCallbacksController у меня есть это:
def login_user(provider)
@user = User.find_for_oauth(request.env['omniauth.auth'], current_user)
if @user.persisted?
remember_me(@user)
sign_in_and_redirect @user, event: :authentication
set_flash_message(:notice, :success, kind: provider.to_s.capitalize) if is_navigational_format?
# current_user is present here
else
session["devise.#{provider}_data"] = env['omniauth.auth']
redirect_to new_user_registration_url
end
end
В моем HomeController
def index
if current_user
# Should be here
else
# here instead
end
end
Что может вызвать нечто подобное?