Rails 3 HABTM连接表迁移

时间:2011-10-24 04:50:42

标签: ruby-on-rails-3 has-and-belongs-to-many

我的Rails 3应用中的UsersGroups之间有HABTM关联。我正在阅读的书中学习Rails建议运行以下命令行来创建联接迁移:

rails generate migration create_groups_users

然而在documentation看来我应该跑:

rails generate migration create_groups_users_join_table

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

class CreateGroupsUsersJoinTable < ActiveRecord::Migration

是否需要添加join_table

2 个答案:

答案 0 :(得分: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

:id =&gt;连接表需要false,因为它不应该有自己的id字段。

答案 1 :(得分:1)

调用rails generate migration create_groups_users时的最后一个参数只表示类名和迁移文件名的一部分。因此,它确实有助于找到您创建的迁移,迁移文件本身(在类体内)是空的。所以两个版本都没问题。