我正在使用旧的
auto_complete plugin与
acts as taggable on gem一起尝试基本上复制Stack Overflow本身的标记行为!我或多或少地做了这个
rails cast中描述的内容.对于单个标签,这很有用.但是,我真的希望这样做,以便每次用户输入空格或逗号(非常类似于Stack Overflow)时,自动完成将重新开始.我想有一些方法可以通过正则表达式来做到这一点,但我不知道如何将这种行为应用到text_field(我想用JavaScript来“重启”自动完成,但不可否认我相当弱谈到JavaScript.这就是我的观点:
<%= text_field_with_auto_complete :business,:tags,{},{ :url => formatted_businesses_path(:js),:method => :get,:with => "'search=' + element.value" } %>
我的控制器非常简单,只需保存特定业务的标签即可.
如果有人能指出我正确的方向(因为我不知道如何去做)我会非常感激.
解决方法
我知道这是旧的,但为了重现这种行为,我使用
rails3-jquery-autocomplete和
acts-as-taggable-on.它们非常好地工作在一起.
// Model class Foo < ActiveRecord::Base acts_as_taggable_on :tags end // Controller class FoosController < ApplicationController autocomplete :tag,:name,:class_name => 'ActsAsTaggableOn::Tag' ... end // Routes resources :foos do collection do get :autocomplete_tag_name end end //View <% form_for :foo do |form| %> <%= form.label :tag_list,"Tags" %> <%= form.autocomplete_field :tag_list,autocomplete_tag_name_foos_path,:"data-delimiter" => ',' %> <% end %>
希望能帮助别人.