Приглашать пользователей через devise без создания нового пользователя, пока приглашение не будет принято
Я хочу пригласить пользователей на различные события, которые есть в моей базе данных, и моя модель пользователя управляется с помощью устройства devise.
С devise_invitable, очевидно, каждый раз, когда я хочу пригласить пользователя, создается новая запись, или я получаю ошибку, если пользователь, идентифицированный по электронной почте, уже существует. И то, и другое является проблемой в моем случае использования, поскольку пользователи должны получать доступ к событиям на основе этих приглашений (что уже обрабатывается), и пользователи потенциально могут подписываться на разные события с разными адресами электронной почты, но все они должны быть одной учетной записью.
Так есть ли способ убедить devise_invitable не создавать новую учетную запись пользователя во время приглашения, а только тогда, когда приглашение принято, и пользователь не вошел в систему?
1 ответ
На самом деле, нет, Devise
(а также Devise_Invitable
) был предназначен только для регистрации User
к одному сервису, следовательно, делая адрес электронной почты уникальным.
Вы думали об использовании Devise_Invitable
чисто как служба регистрации и просто продлевая User
объект для включения has_many EventRegistration
атрибут для хранения ваших событий и комбинаций адресов электронной почты, как вы упомянули?