2012-02-28 11 views
0

3つのテーブルが関連付けられており、簡単な検索をしようとしています。Rails Many Many Search

User Table 
ID | Name 

User_Contacts Table 
User_ID | Contact_ID | Updated_At 

Contacts Table 
ID | Name 

私は現在、私の団体は、私は、次の

@contacts = @current_user.contacts 

を行い、User_Contactsテーブルが返さ持つことができるように設定しています。私は私のビューに私のupdated_at属性がまだ必要なので、この方法で保存したいと思います。

私がする必要があるのは、連絡先テーブルを検索し、名前が「%mike%」のようなすべての連絡先を検索し、この更新プログラムを@contacts変数に追加する方法です。たぶん私はこれに間違った方法で近づいていますが、私はどこから始めるべきかわかりません。

ありがとうございます。

+0

の@ current_user.contacts.where( "名LIKE?"、 "%マイク%が") ''動作していますか? – ScottJShea

+0

いいえ列名がUser_Contactsテーブルに存在しないため... –

答えて

0

マイク、

ここにあなたが探しているものがないサンプルアプリです。サンプルの使用方法については、Readme.markdownを参照してください。

https://github.com/JumpstartLab/contacts

0

はサイズのためにこれを試してみてください上:

@contacts = Contact.includes(:user_contacts).where("name like ? and user_contacts.id = ?", "%mike%", @current_user.id) 

魔法のビットをどの熱望し、負荷に関連するテーブル.includesがあります。そこに考慮すべき技術的な意味合いの多くがありますが、あなたは、こちらの詳細まで読むことができます:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

関連する問題