2009-03-28 4 views
0

나는 will_paginate 플러그인을 사용하고 있는데 내가 로컬 서버에서 실행보다는있을 때 나는 단지 다음과 같은 오류가 발생합니다 :레일 매김 오류

undefined method `total_pages' for []:Array 
Extracted source (around line #8): 

5: <% session[:page] = params[:page] %> 
6: <h2>Previous Scenario</h2> 
7: <% end %> 
8: <%= will_paginate @scenarios, :next_label => 'Older', :prev_label => 'Newer' %> 
9: <div class="box"> 
10: <% for scenario in @scenarios %> 
11:  <% @created = scenario.created_at %> 

어떤 아이디어?

답변

1

어쨌든 @scenarios은 보통 배열이며 Scenario.paginate() 메서드는 사용할 수 없습니다. 이는 항상 WillPaginate::Collection 개체를 반환하기 때문입니다.

1

귀하의 컨트롤러는 다른 절반의 공식을 가지고 있습니까?

@scenario = Scenario.paginate(:page => params[:page]||1) 

또는 액티브 레코드 세트를 일반 배열로 변환하는 서버 측 플러그인이있을 수 있습니다. 좀 더 자세한 정보가 필요합니다.

+0

@scenarios = Scenario.paginate (: 페이지 => PARAMS [: 페이지] : per_page => 1 : 주문 => 'DESC created_at'상태 => {sim_id => 세션 [: sim_id]}) – alamodey

+0

무엇을합니까 logger.error @ scenarios.inspect 프로덕션 및 개발자 용으로 제공합니까? 또한보기에서 <% = @ scenarioarios.inspect %> 을 사용해보세요. 그들은 같은가요? – Ghoti