2010-10-30 5 views
2

продукта, категория является две модели на rails3 связь между ними являются продолжением:Поддерживает ли команда поддержки rails scaffold generate_to или многие-многие данные миграции средней таблицы модели?

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

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

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

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

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

+0

http://guides.rubyonrails.org/association_basics.html#tips-tricks-and-warnings я foud некоторые полезные ссылки, кажется, нужно создать таблицу Assocation самостоятельно, если да рельсы не такая магия в моем сознании – mlzboy

+0

http://en.wikibooks.org/wiki/Ruby_on_Rails/ActiveRecord/Associations#has_and_belongs_to_many также я нашел другую ссылку с релевантными ссылками, у меня есть другой вопрос: как назвать таблицу ассоциаций, products_categories или categories_products, если обе начало модели с символом c или p, имя которой сначала в имени ассоциации-таблицы – mlzboy

ответ

2

Вы должны создать эту таблицу самостоятельно

create_table :products_categories, :id => false do |t| 
    t.integer :product_id 
    t.integer :category_id 
    end 

Внимание, вам нужно определить: идентификатор ложь, потому что этой таблице нет столбца необходимости ID. Если у вас есть столбец идентификатора, таблица недействительна для использования в has_and_belongs_to_many.

1
rails g model ProductCategories product:references category:references 
+0

не должно быть 'ProductsCategories'? –

+0

Я думаю 'ProductCategories'? –