#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 для ввода?