Rails Many - много поиска - PullRequest
       0

Rails Many - много поиска

0 голосов
/ 28 февраля 2012

У меня есть три связанные таблицы, и я пытаюсь выполнить простой поиск.

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 голосов
/ 05 марта 2012

Mike

Вот пример приложения, которое делает то, что вы ищете. Проверьте Readme.markdown для примера использования.

https://github.com/JumpstartLab/contacts

0 голосов
/ 05 марта 2012

Попробуйте это для размера:

@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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...