こんにちは私はポストモデルを持っており、ポストモデルは多くの場所を持っています。私はpost_placesというテーブルに参加します。Rails foursquare2 gem
私の新しい投稿フォームでは、ユーザに最も近い場所をfoursquareで表示し、複数の場所を選択できるようにしています。これまでのところ問題はありません。
私は近くの場所のために示したコード:
<div class="field">
<%= f.label :place_ids, 'Places' %><br>
<%= f.collection_select :place_ids, @places['venues'], :id, :name, {:prompt => "Select a place"}, {class: 'form-control', :multiple => true} %>
</div>
ここでは、私の新しい投稿フォーム(フォースクエアAPIからの結果)からの画像です:
私が行動する前に使用している場合は、@postスロー見つかった、と私はアクションの後に使用する場合place_idsはfoursquare.Hereあるので、それはエラーがスローされていないエラーコードです:
post_params[:place_ids].drop(1).each do |place|
venue = foursquare.venue(place)
@post.places.new(title: venue['name'], address: venue['location']['address'], latitude: venue['location']['lat'], longitude: venue['location']['lng'])
end
私は住所、経度を取得することができます選択された場所の緯度と経度の情報であり、正確には場所表のフィールドにあります。
1-)ここでユーザーが選択した場所を追跡してpost_placesテーブルに保存するにはどうすればよいですか。
2-)プレイスがプレーステーブルに既に登録されている場合、再登録しないようにするにはどうすればよいですか?
に所定の位置の
検証一意私は形で示された場所は主に、私は場所としてそれを登録する必要がActiveRecordのmodels.Doではありませんので、私はこれを行うことはできませんフォームからの正方形の場所IDと? – ccoeder