class Tag < ActiveRecord::Base has_many :taggings has_many :taggables, :through => :taggings has_one :tagging has_many :tagged_posts, :through => :taggings, :source => 'taggable', :source_type => 'Post' end class OrderedTag < Tag self.table_name = "tags" has_many :taggings, -> { order('taggings.id DESC') }, foreign_key: 'tag_id' end