2011-02-08 74 views
0

我還在學習Ruby,並且陷入了許多「魔術」中,想更好地理解實際發生的事情,並確保我理解它在做什麼。rails如何管理關聯?

我有一個用戶,每個用戶都有條目。 在我的用戶類,我有

 
has_many :entries 

,並在我的項I類有

 
belongs_to :user 

我期待這些條目表,對於用戶一列,但我沒有看到那個當我'描述'數據庫。

我如何知道,或者Rails如何知道條目連接到哪個用戶?或者我需要自己創建一個領域來做到這一點?

對我來說,我們似乎很奇怪,我們擁有所有這些「belongs_to」等,但它並沒有明確說明如何建立連接。

回答

1

這是一個常見的誤解。關聯不會爲您創建數據庫表。相反,你必須自己創建它們。你需要注意的是,Entry模型會有一個user_id字段,以便關聯充分發揮作用。我真的不想做廣告或什麼,但我已創建了一個博客文章,可以幫助你相當多,我認爲:

http://www.codercaste.com/2011/02/06/rails-association-in-plain-english-what-i-wish-i-had-known-before-i-started/

+0

感謝SpyrosP,您的文章做了解釋不同類型的一份體面的工作協會,但我仍然試圖找出如何在數據庫中創建關聯。什麼是最好的方式來做到這一點?我認爲這將是一個不喜歡將id傳遞給隱藏領域的表單,但我不確定。 在這個例子中,我可以從current_user獲得用戶,但是如果以後我想在entry_votes之類的其他類中添加,我試圖找出鏈接這些東西的rails方法。 – pedalpete 2011-02-08 18:52:39