使用acts_as_taggable_on的Jquery TokenInput不在搜索框中创建令牌

时间:2012-07-27 16:51:50

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

我正在使用带有Jquery TokenInput的Rails acts_as_taggable_on插件,但是当输入标签并按下空格键(更改分隔符到空格)时,不会创建令牌云。另外,我的Json输出文件看起来有点奇怪,它没有输出正确的数字ID。

JSON输出

{"id":"Funny","name":"Funny"},{"id":"Basketball","name":"Basketball"}

用户控制器

 def tags 
  @tags = ActsAsTaggableOn::Tag.where("tags.name LIKE ?", "%#{params[:q]}%") 
  respond_to do |format|
    format.json { render :json => @tags.collect{|t| {:id => t.name, :name => t.name }}}
  end
end

用户模型

class User < ActiveRecord::Base
   attr_accessible :name, :tag_list
   acts_as_taggable_on :tags
end

Javascript文件

$(function() {
  $("#user_tags").tokenInput("/users/tags.json", {
    prePopulate:       $("#user_tags").data("pre"),
    preventDuplicates: true,
    noResultsText:     "No results, needs to be created.",
    animateDropdown:   false
  });
});

查看

<h2>Enter new user:</h2>

<%= form_for @user do |f| %>

Name: <%= f.text_field :name %><br />
Tags: <%= f.text_field :tag_list,  :id => "user_tags",
                 "data-pre" => @user.tags.map(&:attributes).to_json %>


<%= f.submit %><br />
<% end %>

1 个答案:

答案 0 :(得分:0)

尝试做

format.json { render :json => @tags}

你也看不到将分隔符更改为空格..