2015-07-31 2 views
0

маршрутизаторНе могу найти ошибку с JQuery автозаполнения и Rails 4

resources :pcps do 
    collection do 
     get 'autocomplete' 
    end 
    end 

Контроллер

def autocomplete 
    @pcps = Pcp.order(:last).where("last like ?", "%#{params[:term]}%") 
    render json: @pcps.map(&:full_name) 
end 

Посмотреть

= f.text_field :pcp, data: {autocomplete_source: '/pcps/autocomplete'} 

кофе сценарий

Этот код работает. Я могу просмотреть список и выбрать его.

jQuery -> 
    $('#sched_pcp').autocomplete 
    source: ["Atest", "Btest","Ctest","Dtest","Btest1","Btest2"] 

Этот код не работает. Список не отображается даже в тесте, если, например, я скручиваю localhost: 3000/pcps/autocomplete? Term = L Я получаю список в формате Jason.

jQuery -> 
    $('#sched_pcp').autocomplete 
    source: $('#sched_pcp').data('autocomplete-source') 

Я использую рубин 2.2 и рельсы 4,2 Адрес страницы «//автозаполнения лечащего врача» возвращает правильные данные. Может кто-нибудь помочь мне увидеть мою ошибку, пожалуйста? или, может быть, дать мне представление о том, как отладить его.

+0

Просто сказал: «Этот код не работает». не позволит нам помочь вам. КАК это не работает? Ошибка? Выполняется и ведет себя иначе, чем вы ожидаете? – jkeuhlen

+0

Где вы храните данные в '$ ('# sched_pcp'). Data ('autocomplete-source', data);'? ... потому что я предполагаю, что '$ ('# sched_pcp'). Data ('autocomplete-source') 'пуст. – Mottie

+0

Этот код не дает мне никаких указаний на неудачу. Для этого я использовал консоль браузера. Я ожидаю, что у вас будет список имен, из которых можно выбрать. Я вставлял byebug в действие автозаполнения, и я вижу, что он работает. Также, если я набираю путь в браузере, я получаю версию списка имен jason. – lmcdougall

ответ

0

Попробуйте это:

В вашем Gemfile

gem 'rails3-jquery-autocomplete' 

комплект установки

В ваших application.js

//= require autocomplete-rails 

В контроллере

autocomplete :model_name, :column_name, :full => true 

В маршрутах

resources :controller_name do 
    get :autocomplete_model_name_column_name, :on => :collection 
end 

На вашего взгляде

<%= autocomplete_field_tag 'column_name', '', autocomplete_model_name_column_name_controller_name_path %> 

Надеется, что это поможет.

0

Мне пришло в голову, что мне нужно было увидеть результат автозаполнения jQuery, поэтому приступил к установке копии источника и поместил инструкцию отладчика ... И, как и магия, она сработала.

Есть что-то, что мне не очень нравится в этом, но что это за работа, и у меня нет времени, чтобы держать diggin. Надеюсь, это не укусит меня позже.

BTW Я попытался использовать автозавершение драгоценного камня, прежде чем делать отладки с теми же результатами.

Смежные вопросы