如何在Rails中使用gem'acts-as-taggable-on'时获取所有标签的列表(而非计数)

酒馆

我已经acts-as-taggable-on在模型中设置了宝石,如下所示:

 acts_as_taggable_on :deshanatags

它使用上下文deshanatags现在,我需要以以下格式获取此上下文中所有标签的列表(不仅是分配给一项的标签。我需要所有标签):

[
    {"id":"856","name":"House"},
    {"id":"1035","name":"Desperate Housewives"}
]

我怎样才能做到这一点?

我尝试遵循许多教程,但由于大多数都是为Rails 3编写的,因此陷入了僵局。Rails对模型进行了一些更改,例如删除了attr_accessor,这使我很难理解这些教程。所以请帮忙。

只是我试图将Jquery令牌输入(http://loopj.com/jquery-tokeninput/)添加到我的应用中

PS:通过Tagging表,有没有一种方法可以通过过滤上下文来获取Tag列表,例如Tag.all的输出?

丹尼

标记存储在“标记”表中,您可以使用以下命令从程序中访问该表

ActsAsTaggableOn::Tag.all

如果您需要有关标签用法的更多信息,请参见下表

ActsAsTaggableOn::Tagging

其中包含指向每个标签使用位置的链接,包括其上下文

要将其进一步应用于您的示例,您可以使用

ActsAsTaggableOn::Tagging.includes(:tag).where(context: 'deshanatags').map { |tagging| { 'id' => tagging.tag_id.to_s, 'name' => tagging.tag.name } }.uniq

让我们解释一下该语句的各个部分:

  • “包含”可确保“紧急加载”不同的标签,换句话说,不是加载n + 1个记录,而是仅对数据库执行2个查询
  • “哪里”将记录限制为具有给定上下文的记录
  • “地图”将记录的结果数组转换为新数组,其中包含您在问题中要求的哈希,其ID映射到标签的ID,名称映射到标签的名称
  • 最后,“ uniq”确保您的列表中没有双打

为了解决其他问题,即没有标签的标签,您可以将where子句扩展为

where("(context = 'deshanatags') AND (tag_id IS NOT NULL)")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails:使用acts_as_taggable标签云

来自分类Dev

使用acts_as_taggable_on显示所有标签

来自分类Dev

Rails-acts_as_taggable_on在编辑时删除逗号

来自分类Dev

Rails 4:具有tag-it的acts_as_taggable_on

来自分类Dev

Ruby on Rails:如何通过acts-as-taggable-on删除未使用的标签?

来自分类Dev

Rails acts_as_taggable heroku 500错误

来自分类Dev

Rails 4:使用acts_as_taggable_on链接具有共同标签的两个模型

来自分类Dev

Rails:acts_as_taggable_on,尝试按标签查找文章时出现错误

来自分类Dev

使用acts_as_taggable在Ruby on Rails 4中保存标签

来自分类Dev

使用acts-as-taggable-on gem通过关联进行排序

来自分类Dev

Rails将select转到复选框acts_as_taggable_on

来自分类Dev

rails-jquery-autocomplete和acts_as_taggable表单路由

来自分类Dev

如何将Searchkick gem与acts_as_taggable gem一起使用?

来自分类Dev

Rails 4 - Select tag from collection using Acts as Taggable gem with select_tag

来自分类Dev

Acts_As_Taggable按标签列表排序不包括当前文章

来自分类Dev

累积Chartkick图表和Acts_As_Taggable_On

来自分类Dev

Acts_as_taggable_on索引过长

来自分类Dev

使用黑子搜索act_as_taggable列表

来自分类Dev

如何获得rails_admin gem来识别具有act_as_taggable_on tag_lists的模型?

来自分类Dev

ruby on rails-使用act_as_taggable gem输入西里尔文符号时进行不确定的转换

来自分类Dev

为什么像acts_as_taggable_on这样的红宝石宝石推荐特定版本?

来自分类Dev

如何在act_as_taggable_on(simple_form)中使用select2-rails

来自分类Dev

Memcache在使用acts_as_cached插件时获取错误的值

来自分类Dev

使用 Rails 5 和 act-as-taggable-on 4 时无法运行 rspec

来自分类Dev

使用act_as_taggable时如何限制tag_counts项目

来自分类Dev

Javascript acts_as_votable gem

来自分类Dev

Rails 依赖: :destroy on act-as-taggable-on

来自分类Dev

Acts_as_votable查询-Rails

来自分类Dev

Rails:acts_as_tree和acts_as_sane_tree

Related 相关文章

  1. 1

    Rails:使用acts_as_taggable标签云

  2. 2

    使用acts_as_taggable_on显示所有标签

  3. 3

    Rails-acts_as_taggable_on在编辑时删除逗号

  4. 4

    Rails 4:具有tag-it的acts_as_taggable_on

  5. 5

    Ruby on Rails:如何通过acts-as-taggable-on删除未使用的标签?

  6. 6

    Rails acts_as_taggable heroku 500错误

  7. 7

    Rails 4:使用acts_as_taggable_on链接具有共同标签的两个模型

  8. 8

    Rails:acts_as_taggable_on,尝试按标签查找文章时出现错误

  9. 9

    使用acts_as_taggable在Ruby on Rails 4中保存标签

  10. 10

    使用acts-as-taggable-on gem通过关联进行排序

  11. 11

    Rails将select转到复选框acts_as_taggable_on

  12. 12

    rails-jquery-autocomplete和acts_as_taggable表单路由

  13. 13

    如何将Searchkick gem与acts_as_taggable gem一起使用?

  14. 14

    Rails 4 - Select tag from collection using Acts as Taggable gem with select_tag

  15. 15

    Acts_As_Taggable按标签列表排序不包括当前文章

  16. 16

    累积Chartkick图表和Acts_As_Taggable_On

  17. 17

    Acts_as_taggable_on索引过长

  18. 18

    使用黑子搜索act_as_taggable列表

  19. 19

    如何获得rails_admin gem来识别具有act_as_taggable_on tag_lists的模型?

  20. 20

    ruby on rails-使用act_as_taggable gem输入西里尔文符号时进行不确定的转换

  21. 21

    为什么像acts_as_taggable_on这样的红宝石宝石推荐特定版本?

  22. 22

    如何在act_as_taggable_on(simple_form)中使用select2-rails

  23. 23

    Memcache在使用acts_as_cached插件时获取错误的值

  24. 24

    使用 Rails 5 和 act-as-taggable-on 4 时无法运行 rspec

  25. 25

    使用act_as_taggable时如何限制tag_counts项目

  26. 26

    Javascript acts_as_votable gem

  27. 27

    Rails 依赖: :destroy on act-as-taggable-on

  28. 28

    Acts_as_votable查询-Rails

  29. 29

    Rails:acts_as_tree和acts_as_sane_tree

热门标签

归档