我正在构建一个员工目录应用程序并使用自联接,因此所有员工关系都在一个表中。
我有下属(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。
我假设每个人都只有一位经理(在链条上)。
非常感谢任何帮助。