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 に答える