4

我有一个用户模型和一个配置文件模型。每个用户都有_one 个人资料。配置文件具有城市属性。现在,我希望用户控制器的索引操作拉出与 current_user 具有相同城市的所有用户。所以我在控制器中有这段代码:

def index @users = User.same_city_as(current_user).paginate :page => params[:page], :per_page => 10 end

我在用户模型中也有这个:

scope :same_city_as, lambda { |user| joins(:profile).where(:profile => {:city => user.profile.city} ) }

这不起作用。我收到此错误“”PGError:错误:缺少表“profile”的 FROM 子句条目“。

4

2 回答 2

12

您需要:profile在 where 子句中使用复数形式。

 joins(:profile).where(:profiles => {:city => user.profile.city})
于 2013-03-16T13:04:16.060 回答
-1

尝试使用:
...where(user.profile => {city: user.profile.city})

于 2013-03-16T11:13:38.717 回答