Rails 3 HABTM объединяет таблицу миграции - PullRequest
2 голосов
/ 24 октября 2011

У меня есть связь HABTM между Users и Groups в моем приложении Rails 3.В книге, которую я изучаю, Rails рекомендует использовать следующую командную строку для создания миграции объединения:

rails generate migration create_groups_users

Однако в документации похоже, что я должен был выполнить:

rails generate migration create_groups_users_join_table

Чтобы в моей _create_groups_users.rb миграции было следующее:

class CreateGroupsUsersJoinTable < ActiveRecord::Migration

Требуется ли добавление join_table?

Ответы [ 2 ]

5 голосов
/ 24 октября 2011

Добавление join_table в конце явно не требуется. Ваша первая команда 'create_groups_users' в порядке. Я сделал это в рельсах 3.0.9, и это работает.

Вы можете проверить дважды, открыв файл миграции и проверив, что он выглядит так:

create_table :groups_users, :id => false do |t|
  t.integer :group_id
  t.integer :user_id
end

Значение: id => false необходимо для таблицы соединений, поскольку у нее не должно быть собственного поля идентификатора.

1 голос
/ 24 октября 2011

Последний аргумент в вашем вызове rails generate migration create_groups_users просто обозначает имя класса и часть имени файла миграции. Так что это помогает найти созданную вами миграцию, сам файл миграции (внутри тела класса) пуст. Так что обе версии в порядке.

...