在查找条件中使用连接模型属性的Rails

时间:2010-07-14 22:06:04

标签: ruby-on-rails ruby-on-rails-3

我正在使用:has_many,:通过关联链接两个模型,用户和地点

看起来像这样 -

在用户中:

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

到位:

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

在User_Place中

  belongs_to :user
  belongs_to :place
  belongs_to :place_status

在最后一个注意到place_status。

我想写一个find,它返回与具有特定place_status_id的用户关联的所有地方。

Place_Status_id位于连接模型user_place上。

基本上我想要

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

(在轨道3中)

但我得到了一个错误,因为place_status_id不在地方模型上。

有什么想法吗?谢谢大家。

1 个答案:

答案 0 :(得分:1)

我相信你可以这样找到你的方式

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

我从未使用过Rails 3,所以如果有任何错误,我很抱歉。