Согласно источнику для действия-как-taggable-on, вы можете использовать опцию :exclude
:
##
# Return a scope of objects that are tagged with the specified tags.
#
# @param tags The tags that we want to query for
# @param [Hash] options A hash of options to alter you query:
# * <tt>:exclude</tt> - if set to true, return objects that are *NOT* tagged with the specified tags
# * <tt>:any</tt> - if set to true, return objects that are tagged with *ANY* of the specified tags
# * <tt>:match_all</tt> - if set to true, return objects that are *ONLY* tagged with the specified tags
# * <tt>:owned_by</tt> - return objects that are *ONLY* owned by the owner
Так что в вашем случае просто сделайте:
Article.tagged_with("tag", :exclude => true)
РЕДАКТИРОВАТЬ: только что понял, что вы попросили статьи без каких-либо тегов, в этом случае вам нужно будет предоставить список всех ваших тегов для метода:
Article.tagged_with(Tag.all.map(&:to_s), :exclude => true)