Как добавить модель для ролей, перечисленных в перечислении в Rails? - PullRequest
0 голосов
/ 25 июня 2019

Я использую devise и Pundit в своем приложении.У меня много пользователей, таких как ученик, учитель, администратор, редактор.Я добавил роль enum в мою модель разработки пользователя.Теперь часть, которую я не понимаю, - у ученика будут свои атрибуты, у учителей тоже будет свой.Например, у ученика будет название школы, а у учителя - класс.Теперь, если я добавлю все в пользовательскую модель, у меня будет много нулевых значений.Как я могу использовать эти роли, чтобы создать модель для каждого, то есть Студента, Учителя, Спонсора, чтобы я мог добавить эти дополнительные атрибуты для соответствующих моделей ученика, учителя, спонсора.Мы будем благодарны за любую помощьНапример.Студент будет иметь название столбца Школа в своей модели вместо пользовательской модели.

1 Ответ

0 голосов
/ 05 июля 2019

Спасибо за пост! Я также ищу руководство.

class User < ApplicationRecord 
has_one :profile
has_many :classrooms

enum role: [:teacher, :student, :sponsor, :admin]
end

а. Значит ли это, что все роли имеют атрибуты из ассоциаций?

б. Для STI ... означает ли это, что все ассоциации в подклассе будут иметь нулевое значение?

class Teacher < User
  has_many :classrooms
end

Спасибо!

...