Rails 3, Devise, несколько ролей с одинаковыми представлениями - PullRequest
1 голос
/ 30 сентября 2011

Я пишу торговую систему, и у меня есть 3 модели / роли: покупатели, продавцы и администраторы.Я сгенерировал представления для каждой из моделей, но я хотел бы использовать для них один и тот же вход, страницы с забытым паролем и т. Д., Вместо того, чтобы поддерживать 3 набора представлений, есть ли способ сделать это?1002 * Покупатель и продавец имеют схожие поля (имя, фамилия, адрес электронной почты, телефон и т. Д.), Возможно ли использовать STI с устройством и достаточно ли это просто?На данный момент у меня есть 3 отдельные модели без наследования.

1 Ответ

1 голос
/ 30 сентября 2011

Вы можете просто иметь одну модель User с атрибутом :role, а также реализовать простой ACL через CanCan или decl_auth (gems).Таким образом, они все будут входить в систему и т. Д. Через один сеанс.Devise и CanCan - довольно популярный подход, хорошо документированный в Интернете и в соответствующих вики-сайтах Github.

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

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