2010-02-04 170 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