2013-03-23 2 views
0

Я внедряю устройство для регистрации пользователей, но некоторые настройки и ниже.разработать настройку в рубине на рельсах

  • Когда пользователь регистрируется имя пользователя, адрес электронной почты и пароль, электронная почта будет идти к пользователю
  • В пользователе электронной почты получит секретный код, который необходим для завершения процесса регистрации.
  • Когда пользователь нажимает кнопку «Перейти в приложение», он перенаправляет пользователя в приложение, и здесь пользователь должен использовать этот секретный код для завершения процесса регистрации.
  • Как только пользователь завершит процесс регистрации, между пользователем и этим секретным кодом будет одно отношение.

Я много искал в Интернете, но не смог найти ответ.

Проблема: я не знаю, как создать секретный код в рельсах, а затем отправить его пользователю электронной почты thourgh, а затем сопоставить его с кодом, который получил пользователь.

Примечание: секретный код и пароль - это две разные вещи в моем приложении.

ответ

0

У разработчика есть внутренний модуль, называемый Confirmable, который выполняет именно это.

Для того, чтобы использовать его, все, что вам нужно сделать, это:

  • Убедитесь, что модель Завещание является :confirmable и :registerable

    class User 
        # ... 
        devise :confirmable, :registerable ... 
        # ... 
    end 
    
  • Выполнить миграцию, которая создает confirmation_token поля

    class AddConfirmableToUsers < ActiveRecord::Migration 
        def self.up 
        change_table(:users) do |t| 
         t.confirmable 
        end 
        add_index :users, :confirmation_token, :unique => true 
        end 
    
        def self.down 
        remove_column :users, :confirmable 
        end 
    end 
    

Если у вас уже есть пользователи и вы не хотите, чтобы они следовали этому процессу подтверждения, вам необходимо подтвердить их. Вы можете это сделать

User.update_all ["confirmed_at = ?", Time.now] 

на пульте.

Дополнительные ссылки: Confirable Module, Adding confirmable to Users in Devise

+0

благодаря @Joao Daniel! –

+0

Если мой ответ действительно поможет вам, подумайте о том, чтобы принять его! ;) Благодаря! –

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