Rails 3.1.4、postgis、activerecord-postgis-adapterを使用しています。「Zcta」モデルと「Neighborhood」モデルがあり、それぞれに「geog」列があります。特定の郵便番号と交差するすべての近隣、または特定の近隣と交差するすべての郵便番号などの交差点を見つけたい。私はこのような明示的な結合でそれを行うことができます:
Zcta.joins("join neighborhoods on st_intersects(zcta.geog, neighborhoods.geog)").where("neighborhoods.name" => 'Silver Lake')
Railsは、これから単一のSQLクエリを作成し、近隣との交差に基づいてすべての適切なZctaオブジェクトを返します。これは素晴らしいことですが、同じクエリで近隣オブジェクトを取得することはできません。それもちょっと扱いにくいです。私が探しているのは、熱心にロードできるhas_many関係のようなものです。このようなもの:
Neighborhood.find(name: 'Silver Lake').include(:zctas)
Railsでこれを実現する方法はありますか?