【问题标题】:Act as taggable Tags are not displayed on my view充当可标记标签未显示在我的视图中
【发布时间】:2013-01-20 14:41:22
【问题描述】:

我正在使用 activeadmin 并充当可标记的 gem。当我在 activeadmin 上插入标签时,它会保存标签但不在视图中显示标签

activeadmin 模型:

   ActiveAdmin.register Project do      
     index do
        column :id
        column :name
        column :created_at
        column :tag_list
        default_actions  
    end

    form(:html => { :multipart => true }) do |f|
        f.inputs do
        f.input :name
        f.input :tag_list, :label => "Tags", :hint => 'Comma separated'
        f.input :content, :input_html => {:class => "ckeditor"}
        f.input :image, :as => :file
    end
        f.buttons
    end 
   end

型号:

class Project < ActiveRecord::Base
  attr_accessible :content, :name, :image, :tag_list
  mount_uploader :image, ImageUploader
  acts_as_taggable

  def previous_project
    self.class.first(:conditions => ["name < ?", name], :order => "name desc")
  end

  def next_project
    self.class.first(:conditions => ["name > ?", name], :order => "name asc")
  end
end

查看:

<% @projects.each do |project| %>
    <figure class="d1-d3">
        <%= image_tag project.image_url(:thumb) if project.image? %>
        <figcaption>
            <h4><%= link_to project.name, project %></h4>
            <% project.tag_list %>
        </figcaption>
    </figure>
<% end %>

我尝试使用&lt;%= project.tags %&gt;,但也没有用

谢谢

【问题讨论】:

    标签: ruby-on-rails activeadmin acts-as-taggable


    【解决方案1】:

    尝试将此添加到您的项目模型中(在acts_as_taggable下方)

    acts_as_taggable_on :tags
    

    记得运行迁移,例如:

    create_table :tags do |t|
      t.string :name
    end
    
    create_table :taggings do |t|
      t.references :tag
    
      # You should make sure that the column created is
      # long enough to store the required class names.
      t.references :taggable, :polymorphic => true
      t.references :tagger, :polymorphic => true
    
      # limit is created to prevent mysql error o index lenght for myisam table type.
      # http://bit.ly/vgW2Ql
      t.string :context, :limit => 128
    
      t.datetime :created_at
    end
    
    add_index :taggings, :tag_id
    add_index :taggings, [:taggable_id, :taggable_type, :context]
    

    【讨论】:

    • 谢谢老兄!它在显示视图中有效,但在索引视图中无效
    • 您确定要运行迁移吗?
    • 是的,我运行了迁移,但仍然没有运气
    • 您好抱歉给您带来的不便,这是有史以来最愚蠢的事情!我错过了包含 = 符号。无论如何,感谢您的帮助,伙计们非常感谢。
    【解决方案2】:

    怎么样:

      row :tags do
        resource.tag_list.join(", ")
      end
    

    【讨论】:

      【解决方案3】:

      在视图中错过了等号

      查看:

      <% @projects.each do |project| %>
          <figure class="d1-d3">
              <%= image_tag project.image_url(:thumb) if project.image? %>
              <figcaption>
                  <h4><%= link_to project.name, project %></h4>
                  <%= project.tag_list %>
              </figcaption>
          </figure>
      <% end %>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-15
        • 1970-01-01
        • 1970-01-01
        • 2018-12-03
        相关资源
        最近更新 更多