Ruby on rails Meta_搜索:搜索相关条目的数量

Ruby on rails Meta_搜索:搜索相关条目的数量,ruby-on-rails,meta-search,Ruby On Rails,Meta Search,我有以下Rails型号: class Entry < ActiveRecord::Base has_and_belongs_to_many :tags, :uniq => true end 及 很明显,一个“条目”可以有许多与之相关联的“标签” 使用插件Meta_Search,我希望能够通过一个表单执行搜索,该表单返回的“条目”包含超过0个相关标签 我尝试了几种技术,包括命名作用域和方法,但未能实现这一点 有人知道如何执行此操作吗 谢谢。差不多吧 Entry.joins(

我有以下Rails型号:

class Entry < ActiveRecord::Base
  has_and_belongs_to_many :tags, :uniq => true
end

很明显,一个“条目”可以有许多与之相关联的“标签”

使用插件Meta_Search,我希望能够通过一个表单执行搜索,该表单返回的“条目”包含超过0个相关标签

我尝试了几种技术,包括命名作用域和方法,但未能实现这一点

有人知道如何执行此操作吗

谢谢。

差不多吧

Entry.joins(
        :tags
      ).select(
        "entries.*, count(tags.id) as tags_count"
      ).order(
        "tags_count DESC"
      ).group( 
        "entries.id"
      ).where(
        "tags_count != 0"
      )

这类似于按相关记录计数排序:其中一个答案建议使用计数器缓存,但一条评论表明它对HABTM不起作用

使用一个命名的作用域,它可以选择您对la@mark答案感兴趣的记录,并将其作为搜索方法

Entry.joins(
        :tags
      ).select(
        "entries.*, count(tags.id) as tags_count"
      ).order(
        "tags_count DESC"
      ).group( 
        "entries.id"
      ).where(
        "tags_count != 0"
      )