最好的自动完成/建议在rails 3中搜索表单

时间:2012-05-03 23:05:36

标签: ruby-on-rails-3 autocomplete full-text-search sphinx thinking-sphinx

我有一个使用以下内容的rails应用

  • rails 3.1,
  • ruby​​ 1.9.2,
  • 的MySQL,
  • sphinx搜索,
  • 将分页,
  • 思考狮身人面像,
  • 我选择不使用gem进行简单的登录,所以没有设计,没有 authlogic。使用BCrypt加密密码从头开始登录。
  • JQuery的。

现在,这个应用程序除了处理产品目录外什么都不做。 当我说产品目录时,不仅仅是简单的产品目录。它处理所有功能,类别,品牌。

在2个mysql表中列出的所有产品标题和功能上都有主文本搜索功能。标题和功能。搜索工作正常且相关。

我们决定在我们的应用中加入自动完成/自动建议。

问题:


  1. 我应该使用宝石还是从头开始构建它?请说明理由

  2. 如果我应该使用哪个宝石,哪个宝石是最新的     并有一个论坛,以支持随时?

  3. 我们认为,“标题”表上的自动完成/建议会很好     与在“标题”和“标题”上添加自动完成/建议相比     “功能”表。你对此有何评论?

  4. 这是什么,自动建议或自动完成?


  5. (就像有PAT ALLAN和BARRY HUNTER一样思考狮身人面像和狮身人面像搜索,Gosh!它们致力于支持让用户入睡的声音)

    我详细说明了我的应用程序的元素,请指教我!

    谢谢!

1 个答案:

答案 0 :(得分:4)

jqueryui是一个很好的资源。

这是一个自动完成的演示,您可以查看源代码以了解如何在您的服务器上实现。 http://jqueryui.com/demos/autocomplete/

javascript向您的控制器发送term = TERM。我的设置如下:

def autocomplete
  @movies= Movie.select("id, title").where("title LIKE ?", "#{params[:term]}%").limit(20)
  @hash = []
  @movies.each do |movie|
    @hash << {"label" => movie.title, "id" => movie.id}
  end
  render :json => @hash
end

根据您的需要进行自定义。