我已經實現了本文中概述的框架:How to use jquery-Tokeninput and Acts-as-taggable-on有一些困難。只要預先填充了適當的主題和ajax搜索,就可以工作,但是當我輸入一個新標籤時,當文本區域失去焦點時它會立即被刪除。我不確定我做錯了什麼。下面是我的一些相關的代碼:使用jQuery的tokeninput和acts_as_taggable_on
用戶模型(做了標記):
class User < ActiveRecord::Base
[...]
# tagging
acts_as_tagger
產品型號(接受標籤):
class Item < ActiveRecord::Base
attr_accessible :title, :tag_list
#tagging functionality
acts_as_taggable_on :tags
項目控制器:
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
在我的表格部分:
<%= f.input :tag_list, :label => "Tags", :input_html => { :class => "text_field short", "data-pre" => @item.tags.map(&:attributes).to_json }, :hint => "separate tags by a space" %>
條
我的路線:
get "items/tags" => "items#tags", :as => :tags
resources :items
[幾乎沒有!!!]
窗體上的JS [注:該元素的ID分配動態]:
<script type="text/javascript">
$(function() {
$("#item_tag_list").tokenInput("/art_items/tags", {
prePopulate: $("#item_tag_list").data("pre"),
preventDuplicates: true,
crossDomain: false,
theme: "facebook"
});
});
</script>
當您的意思是「輸入一個新的標籤,它會立即刪除文本區域失去焦點時」,您的意思是從下拉菜單中選擇正確的標籤後?或者你的意思是,當你只是想在該領域內創建一個全新的標籤時,它會消失嗎? – LearningRoR
所以這個字段是一個文本輸入字段。當用戶輸入時,它會自動填充現有條目。我希望它添加一個條目到「標籤」列表中,如果它沒有找到,但這個插件不會這樣做。我正在研究其他UX選項。感謝您入住! – panzhuli
Np,我給了我兩分錢,以防萬一您決定在將來回到TokenInput。 – LearningRoR