Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 使用Act_as_taggable_获取标记计数不工作_Ruby On Rails 3_Acts As Taggable On - Fatal编程技术网

Ruby on rails 3 使用Act_as_taggable_获取标记计数不工作

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

我已经在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">, #<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]}