0

私はDeviseを使っているので、ユーザーテーブルがあります。Employee テーブルと Contact テーブル (顧客の連絡先) を追加しました。各従業員と連絡先には、独自の user_id があります。

テーブルの関係を設定するための最良の方法は何ですか?

1) 従業員と連絡先を :user に所属させますか?

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 
4

1 に答える 1

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
于 2012-05-02T20:01:44.057 に答える