私は従業員ディレクトリアプリケーションを構築しており、自己結合を使用しているため、すべての従業員の関係が1つのテーブルに含まれています。
部下(direct_reports)を表示していて、個人のマネージャーを表示できます。
これが私のモデルです:
has_many :direct_reports, :class_name => "Person", :foreign_key => "manager_id"
belongs_to :manager, :class_name => "Person"
これが私の見解です:
<tr><td>Manager:</td><td><strong><%= link_to "Manager", @person.manager %></strong></td></tr>
<tr><td>Direct Reports:</td><td><strong><% @person.direct_reports.each do |person| %>
<%= link_to person.lname + ", " + person.fname, person %><br>
<% end %></strong></td></tr>
ただし、組織内の上記の人々の完全なレポート階層を表示する方法は見つかりませんでした。はい、マネージャーを表示していますが、マネージャーやマネージャーなどをCEOまで表示する必要があります。
私は、誰もが(チェーンの上位に)1人のマネージャーしかいないと想定しています。
どんな援助も大歓迎です。