Вы должны сделать это при миграции одной из таблиц или при отдельной миграции, если эти миграции были выполнены:
create_table :articles_tags, :id => false do |t|
t.references :article, :tag
end
add_index :articles_tags, [:article_id, :tag_id]
Это создаст таблицу для вас, а :id => false
скажет Rails не добавлять поле id в эту таблицу. Также есть индекс, который ускорит поиск этой таблицы соединений.
Вы также можете сгенерировать модель (ArticlesTag) для этого и сделать:
# article.rb
has_many :articles_tags
has_many :tags, :through => :articles_tags
# tag.rb
has_many :articles_tags
has_many :articles, :through => :articles_tags
# article_tag.rb
belongs_to :tag
belongs_to :article
А затем создайте таблицу в миграции, сгенерированной из вызова script/generate model articles_tag
.