私は、検索フィールドにjQuery-uiオートコンプリート機能を追加するためのYouTubeチュートリアルをたどりました。これはチュートリアル:https://www.youtube.com/watch?v=iMz8HmrQ350へのリンクです。Ruby on Rails:なぜ私のjQuery-uiオートコンプリートが機能していないのですか?
チュートリアルを繰り返して構文を再確認しても、何らかの理由で機能しません。私は、Webブラウザをリロードしても何のエラーも表示されませんが、検索フィールドに入力すると何もドロップダウンメニューとして表示されません。興味深いことに、サンプルデータ用の配列を使用すると、サンプル配列データを使用した提案付きのドロップダウンメニューが表示されます。しかし、私が投稿のデータベースにリンクしようとすると、それはもはや機能しません。以下の両方の方法のサンプルコードを示しました。
私のコードは以下の通りです。何か助けがありましたら、私は無数のチュートリアルや方法を試しながらこの機能を追加しようとしています。それは迷惑なハハを得ている。
私はコーディングが初めてで、これまで自分自身に教えてきました。他のファイルが必要な場合は教えてください。
PS。私は現在、単純な検索のために弾性検索と検索キックを使用しています。それはおそらくオートコンプリート機能が動作していないことと関係がありますか?私はまた、宝石を使用しています:知っていることが重要なことを私の宝石ファイルに入れて、 "宝石のクエリー - ウイレール"
posts.coffee
jQuery ->
$('#search').autocomplete
source: "/search_suggestions"
search_suggestions_controller.rbは
class SearchSuggestionsController < ApplicationController
def index
render json: SearchSuggestion.terms_for(params[:term])
end
end
私はサンプルデータとしてARRAYを使用している場合は、それが動作します - 例:
class SearchSuggestionsController < ApplicationController
def index
render json: %w[test test1]
end
end
MODEL:search_suggestion.rb
class SearchSuggestion < ApplicationRecord
attr_accessible :popularity, :term
def self.terms_for(prefix)
suggestions = where("term like ?", "#{prefix}_%")
suggestions.order("popularity desc").limit(10).pluck(:term)
end
def self.index_posts
Post.find_each do |post|
index_term(post.title)
post.title.split.each { |t| index_term(t) }
end
end
def self.index_term(term)
where(term: term.downcase).first_or_initialize.tap do |suggestion|
suggestion.increment! :popularity
end
end
end
タスクファイル:search_suggestions.rake
namespace :search_suggestions do
desc "Generate search suggestions from posts"
task :index => :environment do
SearchSuggestion.index_posts
end
end
誰ですか?嘆願書 – koz