我正在使用 rails3-jquery-autocomplete 插件。
我想通过几个属性进行搜索,例如标题和 app_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>'
看起来这个插件没有提供查询变量。
任何人都可以帮助我吗?
答案 0 :(得分:3)
希望这会有所帮助: Rails gem rails3-jquery-autocomplete: How do I query multiple fields
该错误意味着在没有任何参数的情况下调用了Eclaim.search_by_number()
。确实很好奇。如果上面的链接有助于您解决此问题,请与我们联系。
请注意,:extra_data
仅设置您希望通过JSON响应在自动填充结果中返回的额外属性。
更新:在您的控制器中尝试此操作,调整:term
def get_autocomplete_items(parameters)
super(parameters)
items = Eclaim.search_by_number(params[:term])
end