Рельсы, использующие атрибут модели соединения в условии для поиска - PullRequest
0 голосов
/ 15 июля 2010

Я использую: has_many,: through, чтобы связать две модели, User и Place

Это выглядит так -

У пользователя:

  has_many :user_places
  has_many :places, :through=>:user_places

На месте:

  has_many :user_places
  has_many :users, :through=>:user_places

In User_Place

  belongs_to :user
  belongs_to :place
  belongs_to :place_status

В этой последней заметке указывается место_стата.

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

Place_Status_id находится в модели соединения, user_place.

Так что в основном я хочу

User.places.where(:place_status_id=>1)

(в рельсах 3)

но я получаю ошибку с этим, потому что place_status_id отсутствует в модели места.

Есть идеи? Спасибо всем.

1 Ответ

1 голос
/ 15 июля 2010

Я полагаю, что вы можете сделать свой поиск таким образом

@user.places.joins(:user_places).where(:user_places => {:place_status_id => 1})

Я никогда не использовал Rails 3, поэтому извините, если есть ошибки.

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