引擎开发:关联计数、帖子回复与引擎配置
1. 显示关联计数
在开发过程中,我们常常需要显示主题下的帖子数量。最初,在 app/views/forem/topics/index.html.erb 文件中,显示的是“0 posts”,这显然是一个占位符,我们需要将其替换为实际的帖子数量。
我们可以利用 Topic 模型中 has_many 关联的 count 方法来实现这一需求。具体操作步骤如下:
1. 替换视图代码 :将视图中的 <td>0 posts</td> 替换为 <td><%= topic.posts.count %></td> 。这行代码会执行一个 SQL 计数查询,例如 SELECT COUNT(*) FROM posts WHERE topic_id = 1 。
2. 性能优化 :然而,为每个主题执行额外的查询会严重影响性能。为了解决这个问题,我们可以使用计数器缓存(counter caching)。
- 添加迁移文件 :运行 rails g migration add_posts_count_to_forem_topics posts_count:integer 命令生成迁移文件。
- 设置默认值 :打
超级会员免费看
订阅专栏 解锁全文
9023

被折叠的 条评论
为什么被折叠?



