0

rails3-jquery-autocompleteプラグインを使用しています。

titleapp_numberなど、いくつかの属性で検索したいと思います。

私が試したこと:

モデル内:

class Eclaim < ActiveRecord::Base
  scope :search_by_number, ->(query){ 
      (query ? where(["app_number LIKE ?", '%'+ query + '%']) : {})
  }
end

コントローラー内:

class ClaimsController < ApplicationController
   autocomplete :eclaim, :title,  :extra_data => [:app_number], :scopes => [:search_by_number]
end

しかし、オートコンプリートフィールドを使用していると、エラーが発生します。

ArgumentError (wrong number of arguments (0 for 1)):
  app/models/eclaim.rb:16:in `block in <class:Eclaim>'

プラグインはクエリ変数を割り当てていないようです。

誰か助けてもらえますか?

4

1 に答える 1

3

これが役立つことを願っています: Rails gem rails3-jquery-autocomplete: 複数のフィールドを照会するにはどうすればよいですか

そのエラーはEclaim.search_by_number()、引数なしで呼び出されたことを意味します。むしろ好奇心旺盛です。上記のリンクがこれを解決するのに役立つかどうか教えてください。

:extra_dataJSON 応答を介してオートコンプリーターの結果に返される追加の属性のみを設定していることに注意してください。

更新:コントローラーでこれを試して、調整してください:term

def get_autocomplete_items(parameters)
   super(parameters)
   items = Eclaim.search_by_number(params[:term])
end
于 2012-06-20T16:41:35.820 に答える