Отправьте заказное подтверждение по электронной почте в Devise в зависимости от роли, определенной в базе данных. - PullRequest
0 голосов
/ 10 ноября 2011

Я использую Devise для регистрации сайта с подтверждением.Тем не менее, у меня есть две разные роли для этого сайта.Первая роль - это «главная» роль, которая использует обычную процедуру регистрации Devise.Предполагается, что учетные записи во второй роли будут созданы после того, как исходный пользователь подтвердит свою учетную запись, впервые войдет в систему и сохранит определенную модель.Например, если пользователь регистрируется на сайте (как тип роли 1), он получает по электронной почте подтверждение от Devise в обычном режиме.Затем они посещают ссылку для подтверждения, подтверждают свою учетную запись, а затем заполняют форму, в которой они указывают друзей, которые также должны получить учетные записи.Друзья относятся к типу роли 2, и они должны получить подтверждение по электронной почте, отличное от оригинального лица, которое зарегистрировало своих друзей в учетной записи.Учетные записи друзей создаются при сохранении формы, заполненной исходным пользователем.Кроме того, человек может позже отредактировать и добавить больше друзей, поэтому, возможно, также потребуется создать учетные записи в методе обновления соответствующей формы / объекта, и этим новым пользователям необходимо будет отправить правильное электронное письмо.Чтобы было ясно, я не хочу пропускать подтверждение - я просто хочу отправлять пользователю различные электронные письма с подтверждением в зависимости от их ролей.Я не могу понять, как справиться с этим правильно.Если я пытаюсь создать учетные записи друзей в коде, когда форма сохраняется с User.new, вызывается user.skip_confirmation!автоматически подтвердит их.Однако я не хочу, чтобы кто-то автоматически подтверждал - я просто хочу выбрать другое настраиваемое электронное письмо с подтверждением для отправки в зависимости от различных условий.Может ли кто-нибудь указать мне правильное направление?

1 Ответ

3 голосов
/ 04 апреля 2012

Проверьте send_on_create_confirmation_instructions метод и комментарии к нему в вашем /gems/devise-xxx/lib/devise/models/confirmable.rb

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