Звучит так, как будто вы ищете стандарт has_and_belongs_to_many:
# article.rb
has_and_belongs_to_many :tags
# tag.rb
has_and_belongs_to_many :articles
Ваша таблица соединения будет называться articles_tags
и должна содержать два столбца, article_id
и tag_id
(нетСтолбец id
необходим, поскольку он не является моделью).
Это в Руководство по рельсам для ассоциаций .Я настоятельно рекомендую ознакомиться с Rails Guides.
Это почти слишком просто для генератора.Все, что вам нужно, это два пустых класса модели и таблица соединений, которые будут определены в миграции следующим образом:
def self.up
create_table :articles_tags, :id => false do |t|
t.integer :article_id
t.integer :tag_id
end
end
def self.down
drop_table :articles_tags
end