Как обрабатывать предварительно зарегистрированных пользователей и избежать дублирования в рельсах - PullRequest
0 голосов
/ 09 сентября 2011

Я пытаюсь найти лучший способ справиться с этой ситуацией:

Пользователь регистрируется -> создает группу -> добавляет пользователей в группу

Добавленный пользователь заходит на сайт -> регистрируется -> создает другую группу

Здесь есть два класса «пользователя»: зарегистрированный (кто входит в веб-приложение) и незарегистрированный (который может взаимодействовать с приложением исключительно по электронной почте благодаря тому, что они добавлены в группу). У меня есть логическое поле для "зарегистрированных".

Пользователь, который заходит на сайт и создает группу, «зарегистрирован». Пользователь, который только что добавлен в группу, не является.

Что я хочу сделать, это запустить проверку при создании нового пользователя, чтобы увидеть, есть ли он уже в нашей базе данных и находится в незарегистрированном состоянии. Их электронная почта должна быть уникальной, поэтому принципиально новым пользователям, которые уже являются членами другой группы, требуется обновление данных, а не создание новых пользователей.

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

Что вы, ребята, думаете?

(Заранее спасибо.)

1 Ответ

0 голосов
/ 09 сентября 2011

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

...