has_and_belongs_to_many and :through do not go together. Your Entry has_and_belongs_to_many :tags:
class Entry < ActiveRecord::Base
has_and_belongs_to_many :tags
end
class Tag < ActiveRecord::Base
has_and_belongs_to_many :entries
end
create_table :entry do |t|
t.string :content, null: false
end
create_table :tags do |t|
t.string :name, null: false, uniqueness: true
end
create_table :entries_tags do |t|
t.belongs_to :entry
t.belongs_to :tag
end