0

Jquery TokenInput で Rails act_as_tggable_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 に答える