2009-03-28 4 views
0

Я использую will_paginate плагин, и я получаю следующую ошибку только тогда, когда я бегу на сервере, а не локально:Rails пагинация ошибка

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) 

В качестве альтернативы я думаю, что вы могли бы иметь плагин на стороне сервера, преобразующая ваш Active Record установлен в простой массив. Мне нужно немного больше информации, чтобы посмотреть на это.

+0

@scenarios = Scenario.paginate (: страница => PARAMS [: страница], : per_page => 1, : заказ => 'created_at DESC', : условия => {: = SIM-идентификатор> сессия [: sim_id]}) – alamodey

+0

Что такое logger.error @ scenarios.inspect прилагается к выпуску и разработке? Также старайтесь: <% = @ scenarios.inspect%> Просмотров. Они одинаковы? – Ghoti

Смежные вопросы