在Ruby on Rails中实现自动完成的最专业的方法是什么?

时间:2015-11-11 09:46:32

标签: ruby-on-rails jquery-ui autocomplete

我想了解更多最佳方法。我希望有一个运行良好的自动完成的搜索表单。

1 个答案:

答案 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 );
      }
    });
  }
  });