Ruby on rails 3 有没有更优雅的方式用ruby写这个?

Ruby on rails 3 有没有更优雅的方式用ruby写这个?,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,并不是说这很可怕,但我想知道是否有更好的方法?实际上,你想要的是一个需要四个角的装订盒。因此,其他编写方法可以是: Geolocation.lat_greater_than_or_equal_to(lat_min). lat_less_than_or_equal_to(lat_max). lng_greater_than_or_equal_to(lng_min). lng_less_than_or_equal_to(lng_

并不是说这很可怕,但我想知道是否有更好的方法?

实际上,你想要的是一个需要四个角的装订盒。因此,其他编写方法可以是:

Geolocation.lat_greater_than_or_equal_to(lat_min).
            lat_less_than_or_equal_to(lat_max).
            lng_greater_than_or_equal_to(lng_min).
            lng_less_than_or_equal_to(lng_max)
类地理位置“纬度>=?和纬度=?和经度实际上,您需要的是一个需要四个角的装订盒。因此,其他书写方式可以是:

Geolocation.lat_greater_than_or_equal_to(lat_min).
            lat_less_than_or_equal_to(lat_max).
            lng_greater_than_or_equal_to(lng_min).
            lng_less_than_or_equal_to(lng_max)
类地理位置=?和纬度=?和经度
class Geolocation < ActiveRecord::Base
  scope :binding_box, lambda { |lat_min, lng_max, lat_max, lng_min| where(
      "latitude >= ? AND latitude <= ? AND longitude >= ? AND longitude <= ?", 
      lat_min, lat_max, lng_min, lng_max
  )}
end

Geolocation.binding_box(lat_min, lng_max, lat_max, lng_min)