在Ransack中,如何编写自定义ransacker以便按关联模型的数量进行搜索

aza*_*gru 5 ruby arel ransack ruby-on-rails-4

(这是我之前提出的问题的更具体版本,但尚未收到任何答案;我希望它不违反SO的规则)

鉴于我有一个具有Sponsor模型和Sponsorship模型的Rails 4应用程序,因此a sponsor具有多个sponsorships,a sponsorship属于a sponsor,我想找到多个赞助数量大于,等于或小于一定数量的赞助者。为此,我尝试使用Ransack,该应用程序使用的搜索工具。

这是在Rails Console中执行我需要的命令(在这种情况下,返回拥有1个以上赞助者的赞助者):

Sponsor.joins(:sponsorships).group("sponsors.id").having("count(sponsorships.id) > ?",1)  
Run Code Online (Sandbox Code Playgroud)

能否请您帮我用此命令构建一个ransacker,以便我可以使用Ransack执行此功能?

(有人告诉我,通过在Rails中使用count_cache可以用一种完全不同的方法更好地解决我的问题,但是我仍然很乐意用Ransack做到这一点,如果没有其他作为示例的话。)