Поддерживает ли команда rails scaffold генерацию информации о миграции промежуточной таблицы модели created_to или many-to-many?

Продукт, категория представляет собой две модели на рельсах3, отношения между ними следующие:

продукт имеет_и_принадлежит_к_многим категориям

категория has_and_belongs_to_many продуктов

я могу использовать скаффолд для генерации миграции для этих двух моделей

rails g scaffold product name:string
rails g scaffold category name:string

но как я могу сгенерировать информацию о миграции средней таблицы модели многие ко многим, или мне нужно написать ее вручную, если это сложно для меня, надеюсь, кто-то может мне помочь.


person mlzboy    schedule 30.10.2010    source источник
comment
guides.rubyonrails.org/ я нашел полезную ссылку, кажется, нужно создать таблицу ассоциаций самостоятельно, если так, то рельсы не такая уж магия в моем сознании   -  person mlzboy    schedule 30.10.2010
comment
en.wikibooks.org/wiki/Ruby_on_Rails/ActiveRecord/ также я нашел еще одну релевантную ссылку, у меня есть еще один вопрос: как назвать таблицу ассоциаций, products_categories или category_products, если обе модели начинаются с символа c или p, укажите имя модели первым в имени таблицы ассоциаций   -  person mlzboy    schedule 30.10.2010


Ответы (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.

person shingara    schedule 30.10.2010

person    schedule
comment
разве это не должно быть ProductsCategories? - person Stephen Lead; 18.11.2015
comment
Я думаю ProductCategories ? - person Antarr Byrd; 18.11.2015