我有一个用户模型和一个配置文件模型。每个用户都有一个个人资料。该个人资料具有城市属性。现在,我希望用户 Controller 的索引操作能够拉取与 current_user 具有相同城市的所有用户。所以我在 Controller 中有这样的代码:
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:错误:缺少表“配置文件”的 FROM 子句条目”。
最佳答案
您需要将 where 子句中的 :profile
设为复数。
joins(:profile).where(:profiles => {:city => user.profile.city})
关于ruby-on-rails - rails : How to use "joins" in sql query for a has_one association,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15448435/