在rails3中帮助JQuery自动完成

时间:2010-10-12 21:49:43

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

我在使用Rails3设置JQuery Autocomplete方面遇到了困难。我没有得到任何错误,它只是像常规文本框一样。

这就是我所做的:

首先我按照此处的说明安装了自动填充功能:http://github.com/crowdint/rails3-jquery-autocomplete#readme

我有一个模型类,其中包含将在查找中的模型:

class NdbFoodDesController < ApplicationController
  autocomplete :ndb_no, :long_desc

  ... some other functions
end

然后我在路线文件中添加了该功能:

resources :ndb_food_des do
    get :autocomplete_ndb_no_long_desc, :on => :collection
  end

然后在视图中我添加了这些行:

<% f.fields_for :ingredients_recipes do |rif| %>
  <% javascript_include_tag "autocomplete-rails.js" %>  
  <td>
    <input type="text" autocomplete="/ndb_food_des/autocomplete_ndb_no_long_desc" id_element="#ndb_no">
  </td>
  <td>
    <%= rif.autocomplete_field :long_desc, autocomplete_ndb_no_long_desc_ndb_food_des_path %>
  </td>
<% end %>

我有什么问题吗?

2 个答案:

答案 0 :(得分:1)

  1. Javascript include标签必须加载到html hader(在你的布局文件中)
  2. autocomplete_tag不起作用,请改用text_field
  3. 不要忘记您还需要安装jquery,因为它们不包含在rails中,请参阅http://asciicasts.com/episodes/205-unobtrusive-javascript以供参考,并提供其他搜索方法。

    如果仍然无效,请检查服务器控制台的输出,通常会告诉您哪些不合适。

答案 1 :(得分:0)

对此新警告的警告.. rails3-jquery-autocomplete(1.0.10)仅支持autocomplete_field_tag。旧版本(0.6.0是rails3-jquery-autocomplete-app中默认使用)支持两者。请务必检查您正在使用的宝石的版本。