私はsimplegeo-ruby gemをインストールしているし、これが正常にこれらのコマンドでレコードを作成し、Railsのコンソールを介して作業を取得することができました:誰もがRails 3アプリでSimplegeo -rubyクライアントを手に入れることができますか?
(注 - 私はgeokitと最初にGoogleを経由してアドレスを探しています)
>> @record = Record.new(:address => 'Address')
>> geocoded = Geokit::Geocoders::GoogleGeocoder.geocode @record.address
record = SimpleGeo::Record.new({
:id => @record.id,
:created => Time.now,
:lat => geocoded.lat,
:lon => geocoded.lng,
:layer => 'com.mylayer.records',
})
>> SimpleGeo::Client.add_record(record)
新しいレコードを作成しようと、このエラーを投げたときに私のアプリが破壊されるしかし:
SimpleGeo::NotFound
app/controllers/records_controller.rb:24:in `create'
マイRecordsController#はアクションは次のようになります作成:
def create
@record = Record.new(params[:record])
geocoded = Geokit::Geocoders::GoogleGeocoder.geocode @record.address
record = SimpleGeo::Record.new({
:id => @record.id,
:created => Time.now,
:lat => geocoded.lat,
:lon => geocoded.lng,
:layer => 'com.mylayer.records',
})
SimpleGeo::Client.add_record(record)
if @record.save
flash[:notice] = "Successfully created record."
redirect_to @record
else
render :action => 'new'
end
end
SimplegeoとRails 3を使用しているすべてのヘルプやリファレンスは大歓迎です。
ちょうどその使用例。私は自分のレイヤーを持っていて、コード内でそれを使用しています。シンプルギアレコードを作成しようとする前に、データベースにレコードを保存すると動作します。シンプルジョーの作成を新しい別のコントローラーに移す必要がありますか? –