我的Rails 3应用中的Users
和Groups
之间有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
?
答案 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
时的最后一个参数只表示类名和迁移文件名的一部分。因此,它确实有助于找到您创建的迁移,迁移文件本身(在类体内)是空的。所以两个版本都没问题。