2014-01-04 2 views
0

Я работаю с Rails4 и использованием завещать,Разрабатывают Single Table Inheritance

У меня есть создавать классы, как это,

Class User 
end 

Class Doctor < User 
end 

Class Patient < User 
end 

При регистрации пользователя я прошу пользователя он/она врач или пациент, используя падение вниз на странице пользователя sign_up. После сохранения он будет хранить как _type: «Доктор» или «Пациент». Это идеально!!!

Мне нужно достичь sign_up для врача, где он должен действовать как доктор, а также пациент ... !!!!!!! Это использование того же адреса электронной почты !!!

Если врач sign_up использует [email protected], то он может sign_up для пациента, используя тот же ([email protected]) email.

Пожалуйста, помогите мне в этой связи ...

+0

не используют STI, потому что это сохраняет все значения в отдельной таблице, и этот метод создает несколько нулей. вместо того, чтобы использовать полиморфную ассоциацию – HarsHarI

+0

, вы можете взять еще два поля в таблице пользователя, например is_doctor и is_patient, если оба они являются истинными, а после входа в систему вы должны спросить пользователя, какую роль он хочет использовать в то время –

+0

, вам не требуется account_id и account_type, чем. –

ответ

0

Это пахнет «rolify» драгоценный камень, назначение нескольких ролей одному пользователю ...

https://github.com/EppO/rolify

Я использовал это в сочетание с CanCan, чтобы пользователи могли получать доступ к определенным страницам/моделям, основываясь на их роли.

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