在桌面端,我们分别显示分类和主题;而在移动端,我们将分类与主题合并显示。考虑到这一点,导致该问题的代码行如下:
c.displayable_topics.blank? 在桌面端始终为 true,因为我们单独加载主题,所以 displayable_topics 始终为空。而在移动端,仅当该分类中确实没有任何主题时,该条件才为 true。
c.displayable_topics.blank?
displayable_topics
我们有两个解决方案:
只要存在至少一个主题,就显示“未分类”,无论“允许未分类主题”设置的值如何。
如果“允许未分类主题”设置为 false,则即使存在主题,也隐藏“未分类”。
第二个方案更容易实现,因为我们只需移除条件中的第二部分。