#jquery #ruby-on-rails #jquery-ui-autocomplete
#jquery #ruby-on-rails #jquery-ui-autocomplete
Вопрос:
Я использую автозаполнение пользовательского интерфейса jquery в приложении Rails, и мои результаты не отображаются. В firebug я получаю ошибку 304 not modified, хотя в ответе я вижу правильные строковые ответы в виде массива.
Вот мой код:
контроллер автозаполнения:
class AutocompleteController < ApplicationController
respond_to :json
# result is array of strings eg: ["foo", "foobar", "foobarbat"]
def work_fandom
@results = redis_tag_lookup(params[:term])
respond_with(@results)
end
end
В application.js:
// Autocomplete
jQuery(function($){
$('.autocomplete').each(function(){
var self = $(this);
self.autocomplete({
source: self.attr('autocomplete_method'),
minLength: 3
});
});
});
В представлении после загрузки:
<input aria-haspopup="true" aria-autocomplete="list" role="textbox" autocomplete="off"
autocomplete_method="/autocomplete/work_fandom" class="autocomplete ui-autocomplete-input ui-autocomplete-loading"
id="work_fandom" name="work[fandom_string]" value="" type="text">
Любые предложения приветствуются!
Ответ №1:
Попробуйте ответить с помощью (@results.to_json)
Комментарии:
1. Похоже, на самом деле проблема заключалась в том, что автозаполнение пользовательского интерфейса jquery ожидает, что результаты будут в массиве хэшей {:label => label, :value => value}!