in meinem Formular zum Erstellen einer neuen Event
, machte ich ein Auto-Vervollständigen-Feld für Venue
basierend auf this railcast. Aber so funktioniert es nur, wenn Sie einen Namen für einen Veranstaltungsort eingeben. Wie funktioniert das gleiche Feld auch bei der Eingabe einer Adresse, wie es auf GoogleMaps ist?Auto-Vervollständigung basierend auf mehreren Attributen des Modells
models/event.rb
def find_venue
venue.try(:name)
end
def find_venue=(name)
self.venue = Venue.find_or_create_by_name(name) if name.present?
end
application.js
//= require jquery-ui
javascripts/events.js.coffee:
jQuery ->
$('#event_find_venue').autocomplete
source: $('#event_find_venue').data('autocomplete-source')
new.html.erb:
<%= f.text_field :find_venue, data: {autocomplete_source: Venue.order(:name).map(&:name)} %>
venues_controller.rb
def index
@venues = Venue.order(:name).where("name like ?", "%#{params[:term]}%")
render json: @venues.map(&:name)
end
funktioniert nicht. Sind Sie sicher, dass das alles geändert werden muss? Ist auch "% # {params [: address]}%" 'in diesem Fall notwendig? es scheint wie 'render json: @ locations.map (&: adresse)' müsste auch in der controller sein. – sivanes