Приложение Rails 3 с Devise, загружающее существующих пользователей - PullRequest
0 голосов
/ 29 декабря 2010

Мы создали новое приложение, которое включает длительный процесс регистрации.Мы используем Rails 3 и разрабатываем для аутентификации, используя: подтверждаемый.

Теперь нам нужно импортировать большой набор существующих пользователей из старой системы.Мы хотим, чтобы это было сделано вручную, чтобы протестировать процесс.

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

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

Dom

1 Ответ

1 голос
/ 30 декабря 2010

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

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

def create 
  # Form style
  skip_email? = params[:user].delete(:skip_email)

  # Old users style
  skip_email? = !!OldUser.find_by_email(params[:user][:email])

  @user = User.new(params[:user])
  ...
end

Предполагая, что вы выполнили одно из двух, вы получите логическое значение skip_email?. Теперь вы можете сделать:

def create 
  skip_email? = true # See above

  @user = User.new(params[:user])
  @user.skip_confirmation!

  if @user.save
    ...
  end
end

skip_confirmation! - это метод, который Devise добавляет к модели User. Вы можете найти исходный код Devise здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...