Just wanted to say rails 3 active relation can be rather great!

Here's a query I just built as I build my application and learn rails:

  def self.views     sorted       .select("help_categories.id, help_categories.name, COUNT(help_documents.id) AS number_of_documents")       .joins("left outer join help_documents on help_categories.id = help_documents.category_id")       .group(:id)       .group(:name)   end

I just want to say that this query works and is so much more straight- forward compared to using Hibernate. In the Hibernate world, you first have to make a static class to store id, name and the number_of_documents... and the query and boiler plate is immense:

    public List<HelpCategoryView> findAllViews() {         return getHibernateTemplate().executeFind(new HibernateCallback<List<HelpCategoryView>>() {             @Override             public List<HelpCategoryView> doInHibernate(Session session) throws HibernateException, SQLException {                 Query query = session.createQuery(                     "select new trainingdividend.domain.sysadmin.HelpCategoryView(" +                     " helpCategory.id, helpCategory.name, count(helpDocument)) " +                     "from HelpCategory helpCategory " +                     " left join helpCategory.documents helpDocument " +                     "group by helpCategory.id, helpCategory.name " +                     "order by helpCategory.name asc"                 );

                return query.list();             }         });     }

So congrats!