2010-02-04 132 views
1

我对如何在ROR/rake中创建/处理“关系”感到困惑。Ruby On Rails ORM模型关系

任何人都可以确认以下是否正确?

  1. 在DB迁移文件中编写“插入xxx关系”。迁移一次完成。
  2. 模型文件中最终关系(has_xxx ...)中的代码。

如果是这样,ROR是否可以根据模型中的更改自动生成数据库迁移文件?

回答

0

你走在正确的道路上。
在您的迁移中,使用't.references'方法。例如:

t.references :user 

这将在数据库中创建一个“user_ID的”列。
然后在模型中,可以使用:

belongs_to :user 

如果你想使用:在你的模型“has_xxx小部件”中,部件数据库表所需要的“whatever_id”列。
Rails不会根据您的模型对您的迁移进行任何更改。 AFAIK,Rails在创建之后永远不会改变你的迁移。你将不得不手动编写这些关系。

+0

我想OP在询问rails是否可以根据模型中的belongs_to自动生成t.references。 – klochner 2010-02-05 17:31:30