Привет, у меня есть модель публикации, а модель поставлена во много раз. Я присоединяюсь к ним таблицей 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
я могу получить адрес, Lon информацию о местоположении и широте выбранных мест, и именно они находятся в полях табличных полей.
1-) Как отслеживать места, которые пользователь выбирает здесь, а затем сохранять их в таблице post_places?
2-) Как я могу заставить его не перерегистрироваться, если место уже зарегистрировано в таблице мест?
Я не могу этого сделать, потому что места я показал в виде не ActiveRecord models.Do мне нужно, чтобы зарегистрировать его в качестве места, в первую очередь с четырьмя местами id из формы? – ccoeder