我想了解更多最佳方法。我希望有一个运行良好的自动完成的搜索表单。
答案 0 :(得分:2)
您的自动完成控制器操作如下所示:
def autocomplete
@products = Product.order(:name).where("name LIKE ?", "'%#{params[:search][:term]}%'")
respond_to do |format|
format.html
format.json {
render json: @products.map(&:name)
}
end
end
您需要在application.js
添加jquery ui auto complete//= require jquery-ui/autocomplete
jquery ui函数调用看起来有点像这样:
$( "#search" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "search/auto_complete",
dataType: "json",
delay: 2000,
data: {
search: request
},
success: function( data ) {
response( data );
}
});
}
});