アプリには複数行の ActiveRelation クエリ メソッドが多数ありますが、これらのメソッドを記述する最も慣用的な方法がわかりません。次の例を見てください。
def postal_code_ids_within(miles)
nearby_postal_codes = PostalCode.where("latitude > :min_lat and latitude < :max_lat",
min_lat: (latitude - (miles.to_f / MILES_PER_DEGREE_LATITUDE.to_f / 2.to_f)),
max_lat: (latitude + (miles.to_f / MILES_PER_DEGREE_LATITUDE.to_f / 2.to_f)))
nearby_postal_codes = nearby_postal_codes.where("longitude > :min_lon and longitude < :max_lon",
min_lon: (longitude - (miles.to_f / MILES_PER_DEGREE_LONGITUDE.to_f / 2.to_f)),
max_lon: (longitude + (miles.to_f / MILES_PER_DEGREE_LONGITUDE.to_f / 2.to_f)))
nearby_postal_codes.pluck(:id)
end
私には少しずれているように感じます。ActiveRelation オブジェクトが返されるブロックは慣用的なように見えますが、そのアプローチは見たことがありません。
標準とは何ですか?