2011-03-15 74 views
0

我有一些問題,努力建設有幾個模型和關係船隻它們之間的Rails應用程序時,瞭解...軌道模型關係和遷移

如果我參加一個基本的例子,像模特組,模型用戶和模型車

class Group < ActiveRecord::Base 
    has_many :users 
end 
class User < ActiveRecord::Base 
    belongs_to :group 
    has_many :cars 
end 
class Car < ActiveRecord::Base 
    belongs_to :user 
end 

將這些關係船語句自動創建以下功能:

  • group.users
  • user.group
  • user.cars
  • car.user

看來,我們有時需要有建立在移民「引用」(如添加在車表對用戶的參考),但這是否總是需要? 在這種情況下,在模型中創建遷移和添加關係語句有什麼不同?我有時會覺得這是用於相同的目的。

非常感謝您的幫助,

問候,

呂克

回答

2

該協會聲明是那裏唯一的Rails。您必須在數據庫中定義外鍵(引用),以便Rails可以正確保存數據。

請記住,儘管有所有的魔力,它仍然受到關係數據庫的支持,所以從長遠來看,良好的實踐將帶來回報。

+0

嗯......所以你的意思是說,在定義模型中的關係時,函數(如.users,.cars,...)不會被創建? – Luc 2011-03-15 22:43:00

+0

不,它們是創建的,但它們在您將更改應用到數據庫之前不會運行。 – 2011-03-15 22:44:24