我正在构建一个以租赁房地产为主题的社区网站,其核心功能围绕特定城市的讨论展开。用户数据将包含他们熟悉的城市以及他们与这些城市的关系(例如:目前居住、曾经居住等)。此外,用户还可以订阅他们希望投资但尚不熟悉的城市。所有城市将作为分类存在,并包含一个自定义字段用于存储地理编码数据,以便用户通过地图浏览城市。
我有些犹豫的是,从数据库效率的角度来看,应该如何设计这个结构。当用户访问某个城市页面时,我会展示该城市的“成员专家”动态。如果每次渲染分类页面时都需要查询所有用户,并遍历他们的自定义字段和“专家城市”自定义字段哈希,我担心这会非常缓慢,尤其是在用户和城市数量增长的情况下。
如果我在自己的 Rails 应用中构建此功能,可以通过关联表和 has_many :through 模型关系轻松解决。但我想知道,对于一个需要关联表的插件,推荐的方案是什么?似乎自定义迁移和表是不被鼓励的,通常建议使用自定义字段或 PluginStore。我尚未找到关于 PluginStore 的正式文档,但目前正在深入研究。
在深入任何方向之前,我认为最好先了解一下 Discourse 官方推荐的做法。
谢谢 ![]()
Zach