Использование связанных моделей в библиотеке для фильтрации имен - PullRequest
0 голосов
/ 03 апреля 2011

У пользователей есть один профиль, а профили принадлежат пользователям.

Я пытаюсь сделать запрос при поиске в списке пользователей и могу искать имена, которые существуют в профилях пользователя.

Вот что у меня есть:

@user_list = User.where(:company_id => current_user.company.id)
  .joins(:profile).where("profile.first_name like ?", "%#{params[:q]}%")

Это не работает, но я не совсем уверен, куда идти?

Ответы [ 2 ]

1 голос
/ 03 апреля 2011
  1. Вы не написали сообщение об ошибке или таблицу базы данных, но я предполагаю, что в соответствии с соглашением о рельсах таблица называется profiles, а не profile
  2. Вы должныобъем по компании вместо запроса по идентификатору в пользовательской модели

Вместе:

@user_list = current_user.company.users.
     joins(:profile).where("profiles.first_name like ?", "%#{params[:q]}%")
0 голосов
/ 03 апреля 2011

попробуйте User.includes(:profile) вместо объединений и проверьте полученный SQL-запрос в журнале.Если это не работает, покажите нам полученный sql.

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