0

我正在使用带有 Jquery TokenInput 的 Railsacts_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 %>
4

1 回答 1

0

试着做

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

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

于 2013-01-15T11:53:47.190 回答