0

ユーザーが正しい結果を得るために検索語の任意の部分を入力できるようにしたいオートコンプリート フィールドがいくつかあります。たとえば、「ang」と入力すると、angel と Los Angeles が表示されます。ここでソースを Array に変更しようとしましたが、うまくいきませんでした:

$.widget( "ui.autocomplete", {
version: "1.10.2",
defaultElement: "<input>",
options: {
    appendTo: null,
    autoFocus: false,
    delay: 300,
    minLength: 1,
    position: {
        my: "left top",
        at: "left bottom",
        collision: "none"
    },
    source: Array,

autocomplete-rails.js ファイルのどこかを変更する必要がありますか? 助けてくれてありがとう。

4

2 に答える 2

0

答えは autocomplete-rails のドキュメントにありました:

 :full => true

デフォルトでは、検索は検索対象の文字列の先頭から開始されます。完全な検索を実行する場合は、full パラメータを true に設定します。

class ProductsController < Admin::BaseController
  autocomplete :brand, :name, :full => true
end

https://github.com/crowdint/rails3-jquery-autocomplete

于 2013-05-21T15:27:14.193 に答える
0

そのようなパターンマッチングはクライアント側ですぐに利用できるわけではないので、物事のレールの終わりで何かを変更する必要があると思います. オートコンプリートが結果を見つけるために使用するメソッドをオーバーライドして、次のようなものを使用する必要があると思います

City.where('name = ?, ["%#{params[:name]}"])

私は SQL の専門家ではありませんが、その考えはわかります。

于 2013-05-21T14:18:38.720 に答える