我正在使用带有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 %>
答案 0 :(得分:0)
尝试做
format.json { render :json => @tags}
你也看不到将分隔符更改为空格..