I needed to count tagged records, I came up with this: <pre>def count_tagged_with(options = {}) options = { :separator => '' '' }.merge(options) tag_names = ActiveRecord::Acts::Taggable.split_tag_names(options[:any] || options[:all], options[:separator]) raise "No tags were passed to :any or :all options" if tag_names.empty? o, o_pk, o_fk, t, t_pk, t_fk, jt = set_locals_for_sql sql = "SELECT COUNT(DISTINCT #{o}.#{o_pk}) FROM #{jt}, #{o}, #{t} WHERE #{jt}.#{t_fk} = #{t}.#{t_pk} AND (#{t}.name = ''#{tag_names.join("'' OR #{t}.name=''")}'') AND #{o}.#{o_pk} = #{jt}.#{o_fk}" sql << " AND #{sanitize_sql(options[:conditions])}" if options[:conditions] count_by_sql(sql) end</pre> -- Posted via http://www.ruby-forum.com/.