Rails 4基于父资源的子集查询嵌套资源

时间:2014-04-23 19:13:31

标签: ruby-on-rails google-maps activerecord geocoding

我正在运行一个基本的rails 4应用程序,它使用Google地图在地图上定位用户。

我正在尝试编写一个查询,该查询按多个属性查找一组用户。关系是:

User has_one :location
User has_many :children

Location belongs_to :user
Children belongs_to :user

@close = Location.near([current_user.location.latitude, current_user.location.longitude], params[:distance])
@close = @close.joins(user: :children).where('locations.users.children.count <= ?', params[:number_of_children]) if params[:number_of_children].present?

我正在使用Geocoded gem,它提供.near方法。我按params[:distance]查询一组位置,我需要根据该组对象查询children.count <= params[:number_of_children]的数量。

PG::FeatureNotSupported: ERROR:  cross-database references are not implemented: locations.users.children.count

修改

@close实例var的初始化获取给定位置附近的位置列表。然后我尝试按给定的关联locations.users.children.count过滤这些对象。

0 个答案:

没有答案