Rails,实时查找基于城市的国家/地区(自动填充)

时间:2011-12-01 15:14:19

标签: ruby-on-rails ajax ruby-on-rails-3

我正在为文本字段寻找自动完成ajax实现。

  • 你输入你的城市
  • 在您输入
  • 时会在db中查找最接近的匹配项
  • 一旦找到城市(部分搜索),它会显示一些选项,可以在城市格式中选择,您可以从列表中选择一个,文本字段将包含“city,state”

在rails中执行此操作的好方法是什么? 我想我需要一个自动完成功能,并在应用程序中发布ajax

1 个答案:

答案 0 :(得分:3)

你可以找到相关的JavaScript(假设你正在使用JQuery)here,从那里只需要设置一个控制器动作来返回一些json并将该动作的路径插入到源:选项。

所以,非常近似,你会做类似的事情:

控制器:

  class CityController << ApplicationController

    def lookup
      cities = City.find_by_name(params[:city])
      render :json => cities
    end

  end

视图:

<%= form_tag do %>
  <%= text_field_tag('city', :id => 'city_input') %> 
  <script type='text/javascript'>
    $(function() {

      $( "#city_input" ).autocomplete({
        source: "<%= lookup_cities_path %>",
        minLength: 2
      });
    });
  </script>
<% end %>