2012-06-15 2 views
0

버그가 있지만 찾지 못하고 해결할 수 없습니다. 여기는 내가 지금까지 가지고있는 것입니다 : https://gist.github.com/2936556 이것은 모델 관계와 컨트롤러 동작을 보여줍니다. https://gist.github.com/2936562이 버그 버그는 어떻게 든 메시지 "forum.lines.notopics는"포럼 주제를 가지고 경우에도 표시되어 있는지입니다관련 레코드를 표시 할 때 까다로운 버그가 있습니다.

에게 트리거 해당 작업에 대한 뷰 템플릿 부분을 보여줍니다. 나는 디버거 보석을 사용하여 물건을 추적했지만, 버그는 kind'o random (디버거를 사용할 때 대부분의 경우 나타납니다.) - 항상 그렇습니다.

로그는 항목을로드 할 쿼리가 없음을 나타냅니다. @topics 대신 @ forum.topics를 사용해도 아무런 차이가 없습니다.

아무도 단서가 있습니까?

P. 정보가 더 필요하면 그냥 물어보십시오. Rails 3.2.1, Ruby 1.9.3.

답변

1

유일한 생각은 실제로 레일스가 을로드하지 않았을 때 아직 확인하지 않았다는 것입니다. <% if @topics.any? %>. 열망 부하 주제

@forum = Forum::Forum.includes(:topics).find_by_id(params[:id]) 

에 시도 (어쨌든 당신은 아마 당신이 정말로 N + 1 개 쿼리를해야합니까, 그것을 할 필요가? :)

도움이되지 않을 경우, 주제를 확인하려고 대신 계산 아이디어에 대한 @topics.any?

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

감사합니다, 트릭을 해결하기 위해 보이지만 로그는 여전히 주제는 별도의 질의에로드되는 보여줍니다. 그렇게 중요하지는 않지만 쿼리를 병합하는 방법에 대한 단서가 가장 높게 평가됩니다. – Almaron

관련 문제