Связи фильтра Active Directory с Rails - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть следующие настройки в моих приложениях на Rails:

Person

  • has_many: должности
  • has_many: отделы

Должность

  • has_many: люди
  • принадлежит_в: отдел

Отдел

  • has_many: люди
  • has_many: позиции

Человек может принадлежать к нескольким отделам, и должность также может принадлежать нескольким отделам (у человека может быть разная должность для каждого отдела) ... например, Джо Блоггс работает уборщиком вDept_1 и преподаватель в Dept_2 и т. Д. ... Мне нужно дважды отфильтровать отдел (как для должности, так и для сотрудника)

Я хочу создать страницу "люди" для отдела, показывающую всех назначенных сотрудников этого отдела, ноа также должность, которую они занимают в этом отделе (если есть), например, перечислите Джо уборщиком на странице людей Dept_1 и учителем на странице людей Dept_2.

Я пытался получить все чистящие средства для Dept_1, например:

@cleaners = Person.joins(:departments).where(:department => {:name =>"Dept_1"})
                  .includes(positions: :department)
                  .where(:department => {:name => "Dept_1"})
                  .where(:position => {:name => "Cleaner"})

, но это показывает позиции людей из других отделов.

Любые советы будут с благодарностью.

Спасибо.

...