【问题标题】:How to display all of tags using act_as_taggable_on rails如何使用 act_as_taggable_on rails 显示所有标签
【发布时间】:2018-07-09 06:07:04
【问题描述】:

我正在使用 Rails 5.1, 我使用作为可标记的宝石 https://rubygems.org/gems/acts-as-taggable-on 在我的帖子模型中。

我想问如何在我的帖子索引中显示我的所有标签列表 ?

例如。我有名为鞋子、钱包、手表的标签。 我想在我的帖子索引中显示这些标签。 当我点击鞋子时,它会呈现所有与鞋子标签链接的帖子。

我的架构:

    create_table "taggings", id: :serial, force: :cascade do |t|
    t.integer "tag_id"
    t.string "taggable_type"
    t.integer "taggable_id"
    t.string "tagger_type"
    t.integer "tagger_id"
    t.string "context", limit: 128
    t.datetime "created_at"
    t.index ["context"], name: "index_taggings_on_context"
    t.index ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true
    t.index ["tag_id"], name: "index_taggings_on_tag_id"
    t.index ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context"
    t.index ["taggable_id", "taggable_type", "tagger_id", "context"], name: "taggings_idy"
    t.index ["taggable_id"], name: "index_taggings_on_taggable_id"
    t.index ["taggable_type"], name: "index_taggings_on_taggable_type"
    t.index ["tagger_id", "tagger_type"], name: "index_taggings_on_tagger_id_and_tagger_type"
    t.index ["tagger_id"], name: "index_taggings_on_tagger_id"
  end

我的后期控制器

def index
    @posts = Post.list_for(params[:page], params[:tag]).search(params[:search])
end

谢谢你帮助我。

【问题讨论】:

    标签: tags ruby-on-rails-5 act-as-taggable-on


    【解决方案1】:

    检索所有标签:

    ActsAsTaggableOn::Tag.all
    

    查看此链接了解更多信息:https://github.com/mbleigh/acts-as-taggable-on/wiki/Tutorial-for-Posts#controller

    也可以按上下文检索标签,检查:https://github.com/mbleigh/acts-as-taggable-on/wiki/Get-all-tags-by-context

    注意!

    ActsAsTaggableOn::Tag
    

    是一个简单的 ActiveRecord 模型。所以你可以像这样调用查询:

    existing_posts_tags = ActsAsTaggableOn::Tag.joins(:taggings).where(taggings: { teggable_type: 'Post' })
    

    【讨论】:

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