我正在使用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
答案 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