In Rails 2
Если вы определили has_many :reports
в модели пользователя.
count = current_user.reports.first(:select => "COUNT(description) as count").count
Если has_many
не определено в модели,
count = Report.first(:select => "COUNT(description) as count",
:conditions => {:user_id => current_user.id}).count
Но current_user.reports.select{ |report| report.description }.count
достаточно, хотя он производит другой запрос.(Select * from reports where ..
) и затем возьмите счетчик массива.
Но в Rails 3 это довольно просто.
Если вы определили has_many :reports
в модели пользователя.
count = current_user.reports.count(:description)
в противном случае
count = Report.where(:user_id => current_user.id).count(:description)
См. Руководство по Rails для расчета Rails 3 ARзапросы.