2016-02-02 2 views
0

Мне было интересно, если кто-нибудь знает простой способ заставить «создать» учетную запись, если она не существует при входе в систему, что позволяет мне использовать одну страницу.Использование Devise для одной страницы для входа/регистрации?

+0

вы смотрели вокруг Разрабатывают GitHub страницы, если это помогает вам любыми способами. уточните вопрос – Bijendra

ответ

2

Да, это возможно. Разрабатывают в сессиях # создать метод доходности в блоке - см https://github.com/plataformatec/devise/blob/master/app%2Fcontrollers%2Fdevise%2Fsessions_controller.rb#L20

Таким образом, вы должны были бы override that controller's create method и использовать выход, чтобы добавить новую учетную запись, если пользователь не был успешно подписан в

Edit: здесь. быстрый пример псевдо-код, что ваш переопределенная создать метод должен выглядеть следующим образом:

def create 
    super do |user| 
    return if current_user # successful login 
    # Here, if the user doesn't exist, 
    # create a new record and log them in. 
    end 
end 
+0

Как бы вы это реализовали? –

+0

Звучит прекрасно. Как я могу проверить наличие неудачного входа? Я понимаю концепцию переопределения метода создания, просто не уверен, что такое проверка. –

+0

Devise предоставляет метод 'current_user'. Таким образом, это было бы что-то вроде 'if! Current_user' –

Смежные вопросы