【问题标题】:How to show pre existing tags using tagit?如何使用 tagit 显示预先存在的标签?
【发布时间】:2014-09-02 13:39:52
【问题描述】:

我正在使用 tag-it https://github.com/aehlke/tag-it 进行标记。创建标签并保存后,如何在编辑时显示保存的标签?我尝试了 availableTags 选项,但无法实现。

  - form_for @user_service, :user => current_user, :url => save_service_tag_user_services_url(:user_service_id => params[:user_service_id])  do |f|
    %span.error-message
    %ul{:id => "stream_add_topic"}
      %li#tag-service{:style => "width: 281px !important;"}
        #add_tag{:id=>"#{@user_service.id}"}
          .url{:style => "float:left;"}
            == Add Tag for auto-posting
            %ul{:id => "link_tags_#{@user_service.id}", :style => "width:265px", :name => "service_tags[]"}

      %li{:id => "stream_topic_text"}
        %label{:for => "topicNames"}== Select a topic
        %br/
        = f.select(:topic_id , Topic.all.collect {|p| [ p.title, p.id ] }, {:prompt => 'Pick a Topic'})
    .modalConfirmAct.flRight
      .blueBtn
        =  submit_tag "Save", :class => "smlrBtn"
      .yellowBtn
        = link_to_close_redbox("#{t :cancel}", :class => "smlrBtn")

:javascript     
  jQuery(document).ready(function(){
    $j("#link_tags_#{@user_service.id}").tagit({  availableTags: ["c++", "java", "php", "javascript", "ruby", "python", "c"] });

谁能帮帮我。

【问题讨论】:

  • 你能把相关的代码贴出来吗,没有它就无法提供帮助。还有你做了什么来实现它
  • @CaffeineCoder 我编辑了我的问题你可以看到

标签: jquery ruby-on-rails tag-it


【解决方案1】:

你可以试试:

<ul id="your_tagit_block_id">
  <% @available_tags.each do |tag| %>
    <li><%= tag.title %></li>
  <% end %>
</ul>

https://github.com/aehlke/tag-it/blob/master/README.markdown#usage

【讨论】:

  • 当我使用它时,在萤火虫中遇到了问题。 TypeError: tagsAll.split 不是函数 [Break On This Error] var tagsArray = tagsAll.split(",")
【解决方案2】:

在模型中

class UserSerVice < ActiveRecord::Base
  has_many :tags
end

class Tag < ActiveRecord::Base
  belongs_to :user_service
end 

在控制器中

 class UserServicesController < ApplicationController

   .....

   def edit
      @service = UserSerVice.find(params[:id])
      @tags ||= @service.tags.collect(&:name) 
   end
 end

在视图中根据 tagit

   <ul id="myTags"></ul>

   $("#myTags").tagit({
     availableTags: ['<%=j @tags %>']
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多