我有两组模型的应用程序 - 基于内容(新闻,问题)和基于“某些东西”(设备,应用程序等)。我需要在组之间链接所有模型 - 例如问题可能属于3种不同的东西 - 一个应用程序和两个设备。同样 - 对于新闻。从另一方面 - 我需要查看与某些应用程序或设备相关的所有新闻文章和问题。
知道如何在rails中开发这个吗?我只有一个想法 - mixins将方法content_id和thing_id添加到模型和连接表。
答案 0 :(得分:1)
你可以在连接表中使用thing_id,thing_class,content_id,content_class并搜索条件,habtm是不可能的。 “2,'设计','页',2” “2,'设计','广告',4” “2,'AnotherThing','Page',2”
然后从连接表中获取所有页面的内容,其中id = self.id AND thing_class = self.class.name AND contant_class = Page.class.name
如果您需要使用habtm关联,您可以使用STI + 1:1关联,但这会使事情更加混乱
答案 1 :(得分:0)
解决了has_many_polymorphs插件 - http://github.com/fauna/has_many_polymorphs