我想要有多態關係,以便可以將許多視頻,標籤和用戶發佈到配置文件。配置文件,視頻,標籤和用戶都是獨立的資源。我是否需要一個單獨的模型,並通過與多態關聯來結合某種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. 在cakephp中,我如何設置一個模型的條件,該模型與我正在分頁的模型沒有關聯,但與哪個模型相關聯?
- 6. 多個模型的多態關聯
- 7. 這個多對多的doctrine2關聯應該如何定義?
- 8. 如何爲會議註冊應用程序設置我的模型關聯?
- 9. 多態關聯共享模型
- 10. 將模型與多態關聯
- 11. 如何鏈接這些模型以通過CakePHP關聯查詢多個表?
- 12. 該模型應該如何設計?
- 13. MVC:這些模型應該是靜態的嗎?
- 14. 如何正確建模該多態關聯?
- 15. 這應該在模型中嗎?如果是這樣,我該如何寫這個?
- 16. 這個CakePHP應用程序的模型關係應該如何?
- 17. 我如何模擬這些關係?
- 18. 多態關聯的模型和控制器設計方法
- 19. 如何檢索多態關係以及模型結構應該如何
- 20. 我應該測試模型之間的關聯嗎?
- 21. 我應該如何解讀這些數據/這些字符串
- 22. 我如何查詢這3個關聯模型?
- 23. 如何在名稱空間模型中使用多態關聯?
- 24. 如何獨立測試一個多態屬性關聯模型?
- 25. 我應該如何建模類之間的關聯
- 26. 我應該如何建模這些簡單的金融交易?
- 27. 返回模型和關聯的多態模型
- 28. 如何設置關聯模型的錯誤信息?
- 29. 如何設置嵌套的關聯模型
- 30. 如何在RSpec測試中設置模型關聯?
http://stackoverflow.com/questions/617535/ruby-on-rails-polymorphic-association – 2011-04-24 01:46:39