我正在处理一些市政数据,而且由于某些市政当局在技术上属于多个县 - 我在数据库中将其作为数组处理,因此很复杂:
[<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
。
答案 0 :(得分: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