Приложение, которое я создаю, позволяет пользователям загружать ваучеры. Работодатели подписываются на учетную запись, добавляют сотрудников (которые получают логин), выбирают, какие ваучеры для включения, а затем сотрудники могут видеть включенные ваучеры и загружать.Несколько моделей моделей и основанных на разрешении
Первоначально я создал две модели моделей: служащий и работодатель. Это было настолько активно, что ассоциации записей были бы простыми (у работодателя было много сотрудников, у служащих были ваучеры). Но это также означает отдельные таблицы базы данных и, следовательно, отдельные знаковые формы.
Я просмотрел отдельные формы форм для нескольких пользователей, и this, похоже, согласился, что вместо этого вы должны иметь одну модель пользователя и использовать CanCan и Rolify для разрешений. Но проблема с , что вы не можете (я верю?) Делать активные ассоциации записей между этими двумя ролями (не отдельные модели).
В следующий раз я посмотрел на подклассификацию, чтобы я мог создавать ассоциации, но это has issues, поскольку люди говорят, что Rails на самом деле не предназначен для подкласса, и это кажется немного взломанным.
Итак, я остаюсь чувствовать, что мне нужно выбирать меньшее количество зла, тогда как я действительно хочу найти правильный путь. Спасибо заранее за любую помощь.
Почему вы не можете создавать ассоциации на основе ролей? Не можете ли вы иметь текстовое поле с ролью в пользовательской модели, а затем создать область или ассоциацию через область? Кроме того, по-моему, для настройки auth требуется меньше времени, чем для настройки Devise. – Mohamad
Связь с чем? Обычно у вас есть что-то вроде «работодатель has_many сотрудников». Но в этом случае это единственная модель - Пользователь. Не могли бы вы привести мне пример? В основном мне нужно, чтобы работодатель has_many Employees и Employer/Employee has_many Vouchers. Я не доверяю себе вопросы шифрования/безопасности прямо сейчас, чтобы оставить Devise, начиная с Rails. –