How to join a table and count records in Rails 3?
问题 I have a Collection class which has many coins. I am trying to select collections which have more than two coins. Currently, I have no problem doing that through straight Ruby, but that's extremely inefficient. My current code: collections = Collection.all.select { |c| c.coins.count > 2 } How do I achieve that through a joins call with Arel? Thanks! 回答1: To answer my own question: Collection.joins(:coins).group("coins.collection_id").having("count(coins.id) > 2") Hat tip to KJF who asked this