rails3-jquery-autocomplete在Rails 3.2.1中不起作用?

我有一个PostTag模型:

class Post < ActiveRecord::Base has_and_belongs_to_many :tags def tag!(tags) tags = tags.split(" ").map do |tag| Tag.find_or_create_by_name(tag) end self.tags << tags end end class Tag < ActiveRecord::Base has_and_belongs_to_many :posts end 

模式:

  create_table "tags", :force => true do |t| t.string "name" end 

部分posts/_form

  

我按照gem的git存储库中的说明进行操作 :

控制器/ posts_controller.rb:

 class PostsController  [:show, :index] autocomplete :tags, :name 

(等等..)

routes.rb中:

 resources :posts do get :autocomplete_tags_name, :on => :collection end 

所有的JavaScripts文件都在那里:

     

但绝对没有任何反应(我通过控制台添加标签测试了这一点)。

有什么建议使这个gem工作? (我在Rails 3.2.1上)

首先,你可以整理你的复数(无论如何都可以工作但是更容易与指令进行比较)

控制器/ posts_controller.rb:

 autocomplete :tag, :name 

的routes.rb

 resources :posts do get :autocomplete_tag_name, :on => :collection end 

然后,您需要将text_field_tag更改为autocomplete_field,就像说明中的视图一样。

从说明中:

 form_for @product do |f| f.autocomplete_field :brand_name, autocomplete_brand_name_products_path end 

我建议你使用Rails表单帮助form_for。 在您使用部分的情况下,它看起来像这样:

views / posts / new.html.erb(或者你所谓的部分地点):

 form_for(:product, :url => {:action => 'create'}) do |f| # I've found that @product doesn't work on new creations and therefor I use :product render(:partial => "form", :locals => {:f => f}) f.submit end 

意见/职位/ _form.html.erb

 
f.label :name, "Tag" f.autocomplete_field :tag_name, autocomplete_tag_name_products_path