AutoComplete Railscast のコメント セクションに未回答の質問があり、同じ問題について助けが必要です。 http://railscasts.com/episodes/102-auto-complete-association-revised?view=comments#comment_159833
Railsコントローラーからのデータソースを使用してjQuery-UI Autocompleteを実装しています.RailsコントローラーはFoursquare APIを呼び出しています。Foursquare API には 2 つのパラメーター (「クエリ」と「緯度/経度」値) が必要です。
Rails コントローラに送信される Autocomplete ウィジェットのデフォルト パラメータは、「クエリ」を含む params[:term] です。別の text_field (geocode_location フィールドと呼びましょう) から値を取得し、それを「latlong」パラメーターとして渡すには、Autocomplete ウィジェットが必要です。
つまり、Rails コントローラーへの GET リクエストは次のようになります。
リクエスト URL: http://localhost:3000/foursquare?ll=37.7+-122.5&term=McDonalds
そしてそうではない
リクエストURL: URL: http://localhost:3000/foursquare?term=McDonalds
以下は私の現在のcoffeescriptファイルです。extraParams を渡すか、:latlong という名前のパラメーターを渡すように知らせる何らかの方法を試みる必要があります。Coffeescript とこのタイプのデータ ソースでそれを行うにはどうすればよいですか?
$('[type="text"][name*="[location]"]').autocomplete
source: $('[type="text"][name*="[location]"]').data('autocomplete-source')
focus: (event, ui) ->
event.preventDefault()
$(this).val ui.item.label
select: (event, ui) ->
event.preventDefault()
$(this).val ui.item.label
$(this).siblings('[name*="[foursquare_id]"]').val ui.item.value
私は Coffeescript の構文にあまり詳しくありませんが、ここでの助けに本当に感謝しています。ここに同様の質問がありますが、オートコンプリート結果のデータ ソースは異なります。jQuery UI - 追加のパラメーターを使用したオートコンプリート - 返されたデータ