2012-05-12 5 views
0

私は3つのテーブル - ユーザー、従業員、連絡先を持っています。 従業員と連絡先には、関連付けられたユーザーを指す外部キーがあります。私は、ユーザーインデックスビューで従業員の名前や連絡先の名前をリストアップしたいユーザー ユーザーは多くの従業員を持って、連絡先RoRバックワードレコードを見つける方法

しかし、: belongs_toの従業員:ユーザー 問い合わせbelongs_toの。

find_by_sql文を使用する必要がありますか?

おかげで、 デイブ

答えて

0

は、あなたは、あなたが@user.employee.name@user.contact.nameを行うことができ、従業員との接触のためにあなたのUserクラスにhas_one関連付けを追加できるようにbelongs_to団体は、すでに設定しています。

これには間違いなくfind_by_sqlは必要ありません。あなたのインデックスビューで

0

<table> 
<% @users.each do |user| %> 
<tr> 
    <td><%= user.name %></td> 
    <td><%= user.employees.map{ |empl| empl.name }.join(", ") %></td> 
    <td><%= user.contacts.map{ |contact| contact.name }.join(", ") %></td> 
</tr> 
<% end %> 
</table> 

だけ下側は、それはすべてのユーザーの従業員と利用者のためのループ内のすべてのユーザーの連絡先のためのクエリを実行しますです。ページがかなり速く読み込まれた場合は、それが明確なコードなので、上記のようにコードを記述します。

関連する問題