Rails 3 HABTM连接表迁移

tva*_*nt2 2 has-and-belongs-to-many ruby-on-rails-3

UsersGroups我的Rails 3应用程序之间有一个HABTM关联.我正在学习Rails的书建议运行以下命令行来创建联接迁移:

rails generate migration create_groups_users
Run Code Online (Sandbox Code Playgroud)

但是在文档中看起来我应该运行:

rails generate migration create_groups_users_join_table
Run Code Online (Sandbox Code Playgroud)

因此,以下内容将在我的_create_groups_users.rb迁移中:

class CreateGroupsUsersJoinTable < ActiveRecord::Migration
Run Code Online (Sandbox Code Playgroud)

是否join_table需要添加?

rob*_*ies 5

不明确要求在末尾添加join_table.你的第一个命令'create_groups_users'很好.我在rails 3.0.9中完成了这个工作.

您可以通过打开迁移文件并检查它看起来像:

create_table :groups_users, :id => false do |t|
  t.integer :group_id
  t.integer :user_id
end
Run Code Online (Sandbox Code Playgroud)

连接表需要:id => false,因为它不应该有自己的id字段.