基本的に、すべてのタグをタグ付けの数で並べ替えたいと思います。
タグを使用してナビゲーションを作成しようとしています。したがって、タグ付けされたアイテムの数でソートされた上位 5、10、15、X タグのみを表示したいと考えています。
したがって、モデルに対して操作を行うことはできません。また、それを行うことができるコントローラーもありません。ナビゲーション ビューのパーシャルで行う必要があるかもしれません。
しかし、acts-as-taggable-on を照会して、システム内の上位 X タグを見つける方法さえ知りません。
act-as-taggable-on を使用してこれを行うにはどうすればよいですか?
モデルを試してみTag
ましたが、うまくいかないようです。
編集 1
を呼び出すとItem.tag_counts
、次のように表示されます。
> Item.tag_counts
(17.4ms) SELECT items.id FROM "items"
ActsAsTaggableOn::Tag Load (17.1ms) SELECT tags.*, taggings.tags_count AS count FROM "tags" JOIN (SELECT taggings.tag_id, COUNT(taggings.tag_id) AS tags_count FROM "taggings" INNER JOIN items ON items.id = taggings.taggable_id WHERE (taggings.taggable_type = 'Item' AND taggings.context = 'tags') AND (taggings.taggable_id IN(13)) GROUP BY taggings.tag_id HAVING COUNT(taggings.tag_id) > 0) AS taggings ON taggings.tag_id = tags.id
=> [#<ActsAsTaggableOn::Tag id: 2, name: "paper">, #<ActsAsTaggableOn::Tag id: 1, name: "notepad">]
システム内の 2 つのタグです。注文されていますか?それぞれによってタグ付けされたアイテムの数を確認するにはどうすればよいですか?