我一直在看瑞安的截屏:如何在Rails 3中正確關聯深度嵌套表單?
http://railscasts.com/episodes/196-nested-model-form-part-1
我有一個類似但不同的問題,我希望有人可以提供幫助。
我有需要(至少)以下四種型號註冊:
- 帳戶
- 公司
- 地址
- 用戶
註冊時,我想爲公司,地址,並用戶單獨與直接帳戶相關。
另外,我想TE 用戶是聯想與公司和地址要與公司相關。
注:每個人都有一個外鍵:account_id
- 這實質上是一種多租戶系統,一個單一的數據庫。
我的同事目前設置如下:
帳戶
的has_many:公司
的has_many:用戶
的has_many:地址
(在未來,其他車型將採用公司和地址模式,這就是爲什麼客戶有很多的那些)
用戶
belongs_to的:帳戶
belongs_to的:公司
公司
belongs_to的:帳戶
的has_many:用戶
的has_many:地址
地址
belongs_to的:帳戶
belongs_to的:公司
我一直在使用accepts_nested_attributes_for
模型中的方法,以及視圖中的方法,但只能以純粹嵌套的方式獲取關聯的東西。
換句話說,一個用戶得到關聯到公司,但沒有關聯的帳戶。
我需要每個模型與帳戶相關聯。 (當然除了帳戶本身)
有沒有辦法做到這一點?
謝謝。
我澄清了這個問題。你介意再看一下嗎? – Nathan 2012-04-06 08:41:42
也許你可以在用戶上運行after_create回調,並從company.mean查找賬戶與賬戶相關聯,而如果我找到了,我會查看其他解決方案。 – Amar 2012-04-06 09:19:32
謝謝。我認爲有一些內置Rails魔法來處理這種情況,但我現在認爲沒有。所以我只是通過將賬戶對象傳入賬戶模型來處理剩餘的關聯,以便在保存後立即完成。 – Nathan 2012-04-06 12:03:42