Rails很多 - 许多搜索

时间:2012-02-28 18:05:43

标签: ruby-on-rails-3 activerecord

我有三个关联的表,我正在尝试进行简单的搜索。

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变量。也许我正在以错误的方式接近这一点,但我无从何处开始。

提前致谢。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

麦克,

这是一个样本应用程序,可以满足您的需求。查看Readme.markdown以了解样本用法。

https://github.com/JumpstartLab/contacts