在Rails 3中使用jQuery Autocomplete,你需要首先确保你的项目中包含了jQuery和jQuery UI库。你可以通过gem来安装jQuery,例如使用jquery-rails gem。
- 在Gemfile中添加以下行: - gem 'jquery-rails'
- 运行bundle install来安装gem。
- 在 - application.js中包含jQuery和jQuery UI:- // //= require jquery //= require jquery_ujs //= require jquery.ui.all //= require autocomplete
- 在 - application.css中包含jQuery UI的样式:- *= require jquery.ui.all
- 创建一个新的Autocomplete控制器: - class AutocompleteController < ApplicationController def index @results = YourModel.where("column LIKE ?", "%#{params[:term]}%") render json: @results.map(&:column) end end
- 在 - routes.rb中添加路由:- get 'autocomplete/index'
- 在视图中,使用Autocomplete: - <%= text_field_tag :autocomplete, '', 'data-autocomplete-source' => autocomplete_index_path %>
- 在 - application.js中添加Autocomplete初始化代码:- $(function() { $( "#autocomplete" ).autocomplete({ source: function(request, response) { $.ajax({ url: "<%= autocomplete_index_path %>", dataType: "json", data: { term: request.term }, success: function(data) { response(data); } }); }, minLength: 2 }); });
确保替换YourModel和column为你的模型和需要自动完成的字段。这样就设置了一个基本的Autocomplete功能,用户在文本框中输入至少两个字符时,会从数据库中查找相应的记录并提供自动完成的建议。