RoR用户联系员工关系

时间:2012-05-02 19:39:22

标签: ruby-on-rails

我正在使用Devise,所以我有一个用户表。 我添加了一个Employee表和一个Contact表(客户联系人)。 每个员工和联系人都有自己的user_id。

设置表关系的最佳方法是什么?

1)员工和联系人是否属于:用户?

2)多态?

由于

更新=============

我改变了代码,因为Yosep说。

但是,我无法弄清楚如何在用户的索引列表中显示员工记录中的字段。例如,用户的列表(索引)应包含employee.first_name。我试过这个=

<% @users.each do |user| %>
  <tr>
    <td><%= user.id%></td>
    <td><%= Employee.where(:user_id => user.id).first_name %> </td><td><%= 

我试过这个:

<td><%= Employee.find_by_user_id(user).first_name %> </td> code 

1 个答案:

答案 0 :(得分:1)

像这样......

class Employee < ActiveRecord::Base
  belongs_to :user

class Contact < ActiveRecord::Base
  belongs_to :user

class User < ActiveRecord::Base
  has_many :employees
  has_many :contacts

一旦你这样做,你可以做一些神奇的事情,如:

employees = User.find(1).employees