0

私はacts_as_taggable_ongemを実装しましたが、dbで自分が持っているタグを確認できます。

モデルカードにタグを付けています。Card.tag_counts

私が得るのは

 [#<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.all.map{|c| c.tags}

そして得た

[#<ActsAsTaggableOn::Tag id: 1, name: "test4">], [#<ActsAsTaggableOn::Tag id: 2, name: "you">,  #ActsAsTaggableOn::Tag id: 1, name: "test4">], [#<ActsAsTaggableOn::Tag id: 3, name: "test">,  #ActsAsTaggableOn::Tag id: 2, name: "you">], [#<ActsAsTaggableOn::Tag id: 4, name: "tyy">], [#ActsAsTaggableOn::Tag id: 5, name: "tetes">], [#<ActsAsTaggableOn::Tag id: 2, name: "you">], [#ActsAsTaggableOn::Tag id: 2, name: "you">], [#<ActsAsTaggableOn::Tag id: 2, name: "you">]]

明らかに、私は複数のカードのタグを持っています。

カウントが表示されないのはなぜですかCard.tag_counts。そうでない場合は、tag_countを取得するにはどうすればよいですか。

4

2 に答える 2

1

.count返されたTagオブジェクトを実際に呼び出す必要があります。

ActsAsTaggableOnは、カスタム選択を使用してカウントを返します。これを行うと、選択した値(この場合はカウント)にアクセスできますが、検査には表示されません。

于 2012-10-23T16:35:15.687 に答える
0

https://github.com/mbleigh/acts-as-taggable-on/issues/185によると

すべてのタグ数を取得するには、次のようなことを行う必要があります

Card.tag_count.map{|x| [x.name,x.count]}

これはかなり醜いです...

于 2012-10-23T16:34:08.117 に答える