2017-02-13 6 views
0

こんにちは私はポストモデルを持っており、ポストモデルは多くの場所を持っています。私は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からの結果)からの画像です:enter image description here

私が行動する前に使用している場合は、@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-)プレイスがプレーステーブルに既に登録されている場合、再登録しないようにするにはどうすればよいですか?

答えて

0
  1. フォームを作成し、選択した値を投稿要求に渡してデータベースに保存します。 user_idの

+0

に所定の位置の

  • 検証一意私は形で示された場所は主に、私は場所としてそれを登録する必要がActiveRecordのmodels.Doではありませんので、私はこれを行うことはできませんフォームからの正方形の場所IDと? – ccoeder