Генерирует ли команда поддержки rails scaffold информацию о переносе промежуточной таблицы модели "многие или многие"?
Product,Category - это две модели на рельсах3, связь между которыми такова:
продукт имеет_и_отмены_в_ многих категориях
категория has_and_belongs_to_many продукты
я могу использовать скаффолд генерировать миграцию для этих двух модельных использования
rails g scaffold product name:string
rails g scaffold category name:string
но как я могу сгенерировать информацию о миграции средней таблицы для многих моделей или мне нужно написать ее вручную, если это так, то мне сложно, надеюсь, кто-то может мне помочь.
2 ответа
Решение
Вам нужно создать эту таблицу самостоятельно
create_table :products_categories, :id => false do |t|
t.integer :product_id
t.integer :category_id
end
Предупреждение, вам нужно определить:id в false, потому что в этой таблице нет необходимости в столбце id. Если у вас есть столбец id, таблица недопустима для использования в has_and_belongs_to_many .
rails g model ProductCategories product:references category:references