Ruby on rails 3 显示相关记录时的一个棘手错误

Ruby on rails 3 显示相关记录时的一个棘手错误,ruby-on-rails-3,debugging,activerecord,Ruby On Rails 3,Debugging,Activerecord,我有一个错误,但无法找到并解决。 以下是我到目前为止的情况: 这显示了模型关系和控制器动作。 这显示了触发错误的操作的视图模板部分 错误在于,即使论坛确实有主题,也会以某种方式显示消息“forum.lines.notopics”。我使用了调试器gem来跟踪问题,但是bug似乎是随机的(在使用调试器时,大多数情况下都会出现bug,而且应该总是这样) 日志显示没有用于加载主题的查询。 使用@forum.topics而不是@topics没有任何区别 有人有什么线索吗 另外,如果需要更多的信息,请询问。

我有一个错误,但无法找到并解决。 以下是我到目前为止的情况: 这显示了模型关系和控制器动作。 这显示了触发错误的操作的视图模板部分

错误在于,即使论坛确实有主题,也会以某种方式显示消息“forum.lines.notopics”。我使用了调试器gem来跟踪问题,但是bug似乎是随机的(在使用调试器时,大多数情况下都会出现bug,而且应该总是这样)

日志显示没有用于加载主题的查询。 使用@forum.topics而不是@topics没有任何区别

有人有什么线索吗

另外,如果需要更多的信息,请询问。
Rails 3.2.1,Ruby 1.9.3。

唯一的想法是,当您检查它时,Rails可能还没有实际加载
@topics
。 尝试加载主题

@forum = Forum::Forum.includes(:topics).find_by_id(params[:id])
(无论如何,您可能需要这样做,您真的需要N+1查询吗?:)

如果没有帮助,请尝试检查主题计数,而不是
@topics.any?

<% if @forum.topics.count > 0 %>
0%>

感谢您的想法,它似乎解决了问题,但日志仍然显示在单独的查询中加载的主题。这并不是很关键,但是关于如何合并查询的线索将是最受欢迎的。