That was not the intent.  The intent was to push the tag comparison to the database because of collation problems. Tag.named_any works great to retrieve the requested tags.  

The problem was comparing the tag strings with strings in ruby.  In my case I am using MySQL with utf8_general_ci collation.  I had the a tag with the string 'inupiat' and tried to add a tag with the string 'IÑUPIAT'.  Tag.named_any('IÑUPIAT') does find the tag with string 'inupiat', but when we compare with comparable_name they are not the same, so an attempt to create a new tag is made.  I also have a unique index on tag name, so this threw an error.  Since I could not make the comparable_name compare the tags the same way, I pushed that to the database.  Sorry for the long winded response.  Does that make sense?