0

我遇到了一个错误,但无法找到并解决。这是我到目前为止所拥有的: https ://gist.github.com/2936556这显示了模型关系和控制器动作。 https://gist.github.com/2936562这显示了触发错误的操作的视图模板部分

错误是即使论坛确实有主题,也会以某种方式显示“forum.lines.notopics”消息。我已经使用调试器 gem 来跟踪事情,但错误似乎有点随机(使用调试器时,它在大多数情况下出现,没有它 - 总是)。

日志显示没有查询来加载主题。使用@forum.topics 代替@topics 根本没有任何区别。

有人有任何线索吗?

PS如果需要更多信息,请问。导轨 3.2.1,红宝石 1.9.3。

4

1 回答 1

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 %>
于 2012-06-15T16:05:05.523 回答