Ruby on rails 3 使用Act_as_taggable_获取标记计数不工作
我已经在gem上实现了acts_as_taggable_,我可以在db上看到我拥有的标签表 我正在标记模型卡,当我标记时,Ruby on rails 3 使用Act_as_taggable_获取标记计数不工作,ruby-on-rails-3,acts-as-taggable-on,Ruby On Rails 3,Acts As Taggable On,我已经在gem上实现了acts_as_taggable_,我可以在db上看到我拥有的标签表 我正在标记模型卡,当我标记时,Card.tag\u计数 我得到的只是 [#<ActsAsTaggableOn::Tag id: 1, name: "test4">, #<ActsAsTaggableOn::Tag id: 2, name: "you">, #<ActsAsTaggableOn::Tag id: 3, name: "test">, #<ActsAs
Card.tag\u计数
我得到的只是
[#<ActsAsTaggableOn::Tag id: 1, name: "test4">, #<ActsAsTaggableOn::Tag id: 2, name: "you">, #<ActsAsTaggableOn::Tag id: 3, name: "test">, #<ActsAsTaggableOn::Tag id: 4, name: "tyy">, #<ActsAsTaggableOn::Tag id: 5, name: "tetes">]
所以很明显,我不止一次有一张卡片的标签
为什么不给我一张卡片。标签计数,如果不是这样的话,我怎么才能得到标签计数呢
为了获得所有标签计数,您必须执行以下操作
Card.tag_count.map{|x| [x.name,x.count]}
这非常难看…您需要实际调用返回的标记对象的
.count
ActsAsTaggableOn正在使用自定义选择返回计数,当执行此操作时,所选值(在本例中为计数)可以访问,但不会显示在inspect中。Try Card.tag\u counts\u on(:tags)会给出相同的结果。。见下面我的答案
Card.tag_count.map{|x| [x.name,x.count]}