Похоже, что оба приведенных выше ответа выводят на печать только самую последнюю запись. Я думаю, что для получения наиболее частых вам нужно будет использовать больше SQL. : - (
Предполагается, что у вас есть модель под названием Message с полем с именем 'text', которое содержит сообщения ...
Message.find(:all, :select => '*, COUNT(*) AS count',
:group => 'text',
:order => 'count DESC',
:limit => 5 )
Отказ от ответственности: я никогда не пытался делать это, кроме как для проверки того, что сам код выполняется.