Rails - 使用Scoped_search gem自动完成?

时间:2010-07-17 20:46:48

标签: ruby-on-rails search autocomplete

我正在使用scoped_search gem来获取我网站上的基本搜索功能。范围搜索:http://github.com/wvanbergen/scoped_search

我正在使用这个gem的最基本的可能实现。我只在用户模型中搜索name属性。在前端,在users / index中,搜索输入为text_field_tag.

<% form_tag users_path, :method => :get do %>  
    <%= text_field_tag :search, params[:search], :value => 'Search' %>
    <%= submit_tag "Go", :name => nil %>
<%end%>

在用户模型中,我有:

scoped_search :on => :name

我想在用户模型name属性上实现基本的自动完成功能。如果我在用户模型的表单元素中搜索,这将是最基本的用例,但scoped_search部分让我失望。

我打算使用DHH的auto_complete插件,但我愿意使用任何工具来帮助我实现这一目标。 自动完成:http://github.com/rails/auto_complete

感谢。

2 个答案:

答案 0 :(得分:1)

  • 在模型中你应该替换 行:

    scoped_search:on =&gt; :名称

使用:

scoped_search :on => :name, :complete_value => true
  • 在视图中替换以下行:

    &lt;%= text_field_tag:search,params [:search],:value =&gt; '搜索'%&gt;

使用:

<%= auto_complete_field_tag_jquery(:search, params[:search], {},{}) %>
  • 在控制器中,您应添加以下方法:

    def auto_complete_search

    @items = User.complete_for(params [:search])

    渲染:json =&gt; @items

答案 1 :(得分:0)

您是否在https://github.com/abenari/scoped_search_demo_app看到了演示应用?

或者,您可以在我的项目中看到我如何使用它 - https://github.com/ohadlevy/foreman