2012-08-17 44 views
2

我一直在努力通過Rails 3 In Action我的方式和一個元素令我困惑。在Action中的Rails 3中,爲什麼用戶沒有與項目的has_many關聯?

爲什麼用戶沒有用Projects聲明has_many關聯?項目has_many門票。用戶和項目之間的關係與Project和Ticket之間的關係有什麼不同?

我會發布代碼,但我認爲這個問題只會對已經完成本書的人有幫助(因此有代碼可以參考)。

+0

爲什麼用戶需要有很多項目?這意味着項目需要爲其定義'user_id'屬性。 – 2012-08-17 10:46:18

+0

嗨。我想了解的是爲什麼一個項目has_many門票,但用戶不has_many項目。 – Undistraction 2012-08-17 10:51:57

回答

0

用戶從不需要擁有多個項目,因爲向用戶顯示項目的方式是通過Project模型上的範圍。如果您想擁有此關聯,則您需要在Project實例上擁有user_id屬性。

+0

感謝您的回覆。我想我理解這些關係的基礎機制,但我想明白的是決定的原因。爲什麼選擇使用範圍來顯示特定用戶他們的項目,但是使用關係將項目與其門票鏈接起來?爲什麼不在票上使用範圍? – Undistraction 2012-08-17 11:03:28

+0

我可以看到,使用範圍允許動態關聯,但是如何優於用戶和項目之間的has_and_belongs_to_many關係(允許用戶擁有多個項目和項目以擁有多個用戶)? – Undistraction 2012-08-17 11:34:34

+0

我不明白有這種關聯的癡迷。它提供了什麼好處?爲什麼有這種聯繫有用?我不明白你的問題? – 2012-08-18 01:55:48

相關問題