Я предполагаю, что в итоге вы создадите по крайней мере два контролера: один для людей, выполняющих функции супервизоров, т. Е. Один для управления подчиненными; и один, чтобы управлять своей личной записью. У вас может даже быть другой, который управляет регистрацией человека и позволяет ему выбирать своего руководителя, как часть шага в стиле волшебника.
Попробуйте высказать, как приложение должно вести себя в первую очередь, набросав несколько каркасов. Это поможет вам выяснить, какие ресурсы нужно изменить, откуда.
Если вы обнаружите, например, что вам нужен список своих подчиненных, то это, вероятно, страница индекса SubordinatesController #. Добавление подчиненного, вероятно, будет парой #new / #create в этом контроллере.
Контроллеры действительно должны выяснить, как пользовательский интерфейс будет реагировать на различные действия пользователя. Установка / my / supervisor и заметка о том, что я / чужой / наблюдатель, вероятно, относятся к совсем другим вещам на уровне пользовательского интерфейса. То, что они находятся в одной таблице, не означает, что пользовательский интерфейс должен отражать эту симметрию.
Странно, что можно было бы изменить свой собственный список супервизоров. Я думаю, что здесь возникает странность вашего вопроса.
Возможно, это на самом деле побочный эффект изменения некоторых других членов, например, переход в другую группу в организации, и в этом случае переназначение будет частью его собственного контролера.