2013-12-02 3 views
1

Мне нужно создать 3 типа пользователей: пользователя, модератора и администратора. Я решил сделать это с помощью разработки, что из этого будет лучше? Создайте 3 разных модели пользовательских моделей или создайте 1 модель пользовательских моделей с полем: тип или права? В mongodb некоторые поля могут быть пустыми, поэтому я могу создать 3 формы в 1 модели, как я освобождаю и включать только поля, которые мне нужны?Количество моделей пользовательских моделей с монгодом

+5

Это действительно зависит от требований вашего приложения. Обычно роли - лучшее решение, чем отдельные модели пользователей. – sevenseacat

+1

Вы можете пойти с role_model gem, чтобы добавить роли в ваше приложение https://github.com/martinrehfeld/role_model –

ответ

2

Как насчет этого?

class User 
    include Mongoid::Document 

    field :role, type: Symbol, default: :regular 

    validates_inclusion_of :role, :in => [:moderator,:admin,:regular] 
    ... 

Я использую cancan, чтобы позволить пользователю иметь доступ к некоторым функциям в зависимости от роли.

Удачи вам!

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