Добавить автозаполнение на панель навигации в проекте Rails

#ruby-on-rails #jquery-ui-autocomplete

#ruby-on-rails #jquery-пользовательский интерфейс-автозаполнение

Вопрос:

Я запускаю проект Rails, который состоит из панели навигации на всех страницах. У меня также есть тег ввода на панели навигации для целей поиска, но как реализовать автозаполнение в конкретной строке поиска.

Я попытался использовать rails-jquery-autocomplete и реализовал так, как он просил, но, к сожалению, у меня это не сработало. Результаты поиска не отображаются на экране или на консоли

brands_controller.rb

 class Admin::BrandsController < Admin::AdminController
  autocomplete :brand, :name
end
  

routes.rb

 resources :brands, param: :uuid do
  get :autocomplete_brand_name, :on => :collection
end
  

_navigationbar.html.erb

 <form class="navbar-form pull-left" role="search">
   <div class="form-group">
      <input type="text" class="form-control search-bar" placeholder="Type here for search..." data-autocomplete="<%=autocomplete_brand_name_admin_brands_path%>">
   </div>
</form>
  

Gemfile

 gem 'rails', '~> 5.0.0'
gem 'rails-jquery-autocomplete'
gem 'jquery-rails'
  

application.js

 //= require jquery
//= require jquery_ujs
//= require moltran/modernizr.min
//= require moltran/bootstrap.min
//= require tagsinput/jquery.tagsinput.min.js
//= require autocomplete-rails
  

Сгенерированный HTML:

 <div class="form-group">
   <input type="text" class="form-control search-bar" placeholder="Type here for search..." data-autocomplete="/admin/brands/autocomplete_brand_name">
</div>
  

введите описание изображения здесь

Комментарии:

1. Опубликуйте свой код.

2. @Dinesh Я обновил код. Пожалуйста, проверьте это

3. Можете ли вы опубликовать свой gemfile и application.js

4. @Dinesh готово, пожалуйста, ознакомьтесь с этим

5. Где находится ваш js, такой как, $( ".search-bar" ).autocomplete({ appendTo: "#someElem" });

Ответ №1:

Вам не хватает //= require jquery-ui/autocomplete в application.js . Обновить application.js для

 //= require jquery
//= require jquery_ujs
//= require moltran/modernizr.min
//= require moltran/bootstrap.min
//= require tagsinput/jquery.tagsinput.min.js
//= require jquery-ui/autocomplete
//= require autocomplete-rails
  

В вашем gemfile добавьте

 gem 'jquery-ui-rails'
  

Также замените входной тег на

 <%=autocomplete_field_tag 'search', '', autocomplete_brand_name_admin_brands_path %>
  

Комментарии:

1. не удалось найти файл ‘jquery-ui / autocomplete’ с типом ‘application / javascript’

2. Rails 5.0.0.1 — это версия

3. @SyedAsadAbbasZaidi В свой gemfile добавьте, gem 'jquery-ui-rails' затем выполните bundle install и перезапустите сервер.

4. Я только что сделал это.. Я перезапустил сервер.. Ошибка исчезла.. Но я все еще не могу просмотреть название какой-либо торговой марки в своем окне поиска… Также нет журналов автозаполнения на консоли

5. @SyedAsadAbbasZaidi Какой сгенерированный HTML для ввода?