我想要有多態關係,以便可以將許多視頻,標籤和用戶發佈到配置文件。配置文件,視頻,標籤和用戶都是獨立的資源。我是否需要一個單獨的模型,並通過與多態關聯來結合某種has_many?我希望配置文件擁有許多視頻,標籤和用戶,但也需要視頻,標籤和用戶擁有多個配置文件。我應該如何設置這些多態模型關聯?
回答
爲什麼使用多態性,當has_and_belongs_to_many協會似乎是完美的匹配?
可能的副本,因爲然後我需要三個單獨的連接表? – 2011-04-23 06:19:17
這是正確的,恕我直言,要走這裏,因爲它不那麼複雜,可能更快。當然,你也可以使用多態,然後(如果我理解你的話),你將需要一個連接表('profilable_profile')和'profilable_type'列在你的配置文件表中。你的個人資料模型需要一個'has_and_belongs_to_many:profilables',其他所有人'has_and_belongs_to_many:個人資料'。 – rausch 2011-04-23 07:07:43
我有點困惑,多態如何在這裏工作。你能否提供完整的例子與表格字段,以便我可以確定要做哪一個? – 2011-04-23 15:44:40
你不需要這個的多態關聯。相反,你需要has_many和has_many通過關聯。
配置文件有許多影片和視頻有很多的配置文件是(純英文):
Profile has many videos through profile_videos
Video has many profiles through profile_videos
ProfileVideo belongs to profile
ProfileVideo belongs to video
利用這一點,你現在可以做任何profile.videos拿到專輯或video.profiles得到視頻的配置文件。
但用戶呢?會因爲用戶已經擁有一個配置文件而導致衝突嗎? – 2011-04-24 04:04:36
根本沒有衝突。用戶可以正常使用一個配置文件。 – Spyros 2011-04-24 06:56:20
好的。然後,我需要幾個連接表......所以我決定使用'has_many_polymorphs'插件,但現在我遇到了這個問題:http://stackoverflow.com/questions/5768764/how-to-set-up-這些 - crud-controller-actions-for-has-many-polymorphs-and-an-error你會介意檢查嗎?我可能只是決定去你的解決方案,如果我不能得到這個工作... – 2011-04-24 07:05:03
- 1. 如何關聯這些模型?
- 2. 我應該放棄多態關聯嗎?
- 3. 如何設置三個模型關聯?
- 4. 設置多態關聯
- 5. 設置Rails模型關聯
- 6. 如何資源管理與關聯模型的多態關聯?
- 7. 模型應該做多少設置?
- 8. 我應該如何設置這些表格進行搜索?
- 9. 我該如何得到應該識別我的多態性關聯
- 10. 如何爲多個模型設置回形針和關聯?
- 11. 在cakephp中,我如何設置一個模型的條件,該模型與我正在分頁的模型沒有關聯,但與哪個模型相關聯?
- 12. 多個模型的多態關聯
- 13. 這些表格並不相互關聯。我該如何解決?
- 14. 這個多對多的doctrine2關聯應該如何定義?
- 15. MySQL:我應該爲這些查詢設置哪些索引?
- 16. 如何關聯這些模型? Rails 3.2.13 Postgresql 9.1
- 17. 如何爲會議註冊應用程序設置我的模型關聯?
- 18. 如何表達這些模型關係
- 19. 多態關聯共享模型
- 20. 將模型與多態關聯
- 21. 該模型應該如何設計?
- 22. 這些模型之間應該建立什麼樣的關係?
- 23. MVC:這些模型應該是靜態的嗎?
- 24. 如何正確建模該多態關聯?
- 25. 這應該在模型中嗎?如果是這樣,我該如何寫這個?
- 26. 這個CakePHP應用程序的模型關係應該如何?
- 27. 我應該如何在餘燼中放置我的模型以防這種情況有很多關係?
- 28. 我應該如何設計一個包含許多模型的視圖模型?
- 29. 在這種情況下,我應該使用簡單還是多態關聯? [Rails]
- 30. 我如何模擬這些關係?
http://stackoverflow.com/questions/617535/ruby-on-rails-polymorphic-association – 2011-04-24 01:46:39