モデルとフォームとの統合方法に依存すると思います。 私は、Locationモデルのデータが、Yahoo/Googleまたは静的なZipcodeルックアップテーブルからのジオコーディングを介して、ユーザーによって入力されていると仮定しています。
ここでは、ユーザーが入力した郵便番号(zip)を介して静的ルックアップ・テーブルから移入するマイ・ロケーション・モデルの移行について説明します。これはAJAXコールによってメイン・フォームに移入されます。 Googleのそれは郵便番号を見つけることができない場合(表は今かなり古くなっている)
文字列を使用すると、おそらくより良い場合は同じように良いではありませんが、私は緯度経度/のための浮動小数点数で行きました。
私は地域、国、Hpu(Health Protection Unit - nhsサービスのための地域部門)の地理区分に別々のモデルとテーブルを使用しました。
これには、これらのドロップダウンメニューのユーザー入力を制限するなど、管理者によって編集可能な理由がいくつかあります(地域や国は安定していますが、Hpusはatmという名前の変更がatmです)。
他の理由は、(単位の境界線を描画するために - シェープファイルをPostGISのインポートツールを使用して、後に追加されるので、この移行には示されていない)は、シェープファイルの情報などの追加情報を含めるために地理モデルを拡大含まれ、提供される関連付けを使用しますこれらの追加モデルによって
class CreateRegions < ActiveRecord::Migration
def self.up
create_table :regions do |t|
t.primary_key :id
t.string :name
t.timestamps
end
end
def self.down
drop_table :regions
end
end
class CreateHpus < ActiveRecord::Migration
def self.up
create_table :hpus do |t|
t.primary_key :id
t.integer :region_id
t.string :name
t.timestamps
end
end
def self.down
drop_table :hpus
end
end
あなたは何についてお尋ねしますか? –