Как исправить ошибку автозаполнения рельсов jquery-ui (turbolinks: load) в рельсах - PullRequest
0 голосов
/ 17 января 2019

Я работаю над автозаполнением части в рельсах. Я использую камень 'jquery-ui-rails'. при использовании $(document).ready он работает, но я использую $( document ).on('turbolinks:load', function() {}, он не работает из-за звездочек.

Если я удаляю // = requireizeize-sprockets в application.js, то это работает. если я добавлю эту строку, то она не работает. Мне нужны материализованные звездочки для дизайна.

Gemfile

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.5.1'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.2'
# Use sqlite3 as the database for Active Record
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'materialize-sass'
gem 'sqlite3'
# Use Puma as the app server
gem 'puma', '~> 3.11'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported 
runtimes
# gem 'mini_racer', platforms: :ruby

# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read 
more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
gem 'jquery-turbolinks'
# Build JSON APIs with ease. Read more: 
https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'

application.js

//= require jquery
//= require jquery-ui
//= require rails-ujs
//= require jquery-ui/widgets/autocomplete
//= require autocomplete-rails
//= require materialize-sprockets
//= require activestorage
//= require turbolinks
//= require_tree .

_form.html.erb

  <div class="field">
  <%= f.label :category_id %><br />
  <%= f.text_field :category_name, data: { autocomplete_source: 
  categories_path} %>
  </div>

categories_controller.rb

  def index
  @categories = Category.order(:name).where("name like ?", "%# 
  {params[:term]}%")
  render json: @categories.map(&:name)
  end

product.js

$( document ).on('turbolinks:load', function() {
$("input#product_category_name").autocomplete({
source: $('#product_category_name').data('autocomplete-source')
});
})

routes.rb

resources :products
resources :categories

Как использовать $ (document) .on ('turbolinks: load') с // = требуются материализованные звездочки?

...