rails3-jquery-autocomplete在Rails 3.2.1中不起作用?
我有一个Post和Tag模型:
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