2017-02-13 11 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 

я могу получить адрес, Lon информацию о местоположении и широте выбранных мест, и именно они находятся в полях табличных полей.

1-) Как отслеживать места, которые пользователь выбирает здесь, а затем сохранять их в таблице post_places?

2-) Как я могу заставить его не перерегистрироваться, если место уже зарегистрировано в таблице мест?

ответ

0
  1. Создайте форму и передайте значения выбора в почтовом запросе, сохранив их в базе данных.

  2. Validate уникальность места по отношению к user_id

+0

Я не могу этого сделать, потому что места я показал в виде не ActiveRecord models.Do мне нужно, чтобы зарегистрировать его в качестве места, в первую очередь с четырьмя местами id из формы? – ccoeder