1

我正在处理一些市政数据,由于一些市政在技术上位于多个县内这一事实使情况变得复杂——我在数据库中将其作为数组处理,如下所示:

[<Municipality id: 11590, name: "Wisconsin Dells", county: ["Adams", "Columbia", "Juneau", "Sauk"], latitude: nil, longitude: nil, created_at: "2012-06-06 20:05:20", updated_at: "2012-06-06 20:05:20", municipality_type: "City">]

如何在 Ruby中构造一个调用,该调用将返回county包含给定字符串的所有市政当局?

例如,理想情况下,这就是我将列出给定县的所有城市的方式。

编辑:我serialize :county在我的Municipality班上。

4

1 回答 1

2
class Muni < ActiveRecord::Base
  def self.for_county(county)
    where %Q[county like '%"#{county}"%']
  end
end

或者,速度较慢,但​​如果您“只是不想弄乱 SQL”:

def self.for_county(county)
  all.select { |m| m.county.include? county }
end
于 2012-06-06T20:31:19.040 回答