我遇到了一个但无法找到并解决的错误。 这是我到目前为止: https://gist.github.com/2936556这显示了模型关系和控制器动作。 https://gist.github.com/2936562这显示了触发错误的操作的视图模板部分
错误在于,即使论坛确实有主题,也会显示消息“forum.lines.notopics”。我已经使用调试器gem来跟踪事情,但是这些错误似乎是随机的(当使用调试器时,它出现在大多数情况下,不管它是什么 - 总是如此)。
日志显示没有查询来加载主题。 使用@ forum.topics代替@topics并没有任何区别。
有人有线索吗?
P.S。如果需要更多信息,请询问。 Rails 3.2.1,Ruby 1.9.3。
答案 0 :(得分:1)
唯一的想法是,当你检查@topics
时,Rails实际上可能还没有加载<% if @topics.any? %>
。
尝试加载主题
@forum = Forum::Forum.includes(:topics).find_by_id(params[:id])
(无论如何你可能需要这样做,你真的需要N + 1个查询吗?:)
如果无效,请尝试检查主题计数而不是@topics.any?
<% if @forum.topics.count > 0 %>