2013-08-27 2 views
0

У меня есть проблема с разбиением на страницы, которые я запрашиваю от другой веб-службы, для получения данных. Когда я делаю запрос, я получаю некоторые данные (не все, потому что, если я получу все, что будет слишком большим) и общее количество записей. will_paginate кажется, может отображать только первую страницу, а со второй страницы ничего не показывать.will_paginate на лимитных записях

page = params[:page]? params[:page]:1 
@fields = ConflictCase.get_fields 
sites = ConflictCase.get_paging_sites_from_service(10, (page.to_i - 1)) #this will request data from other webservice that I limit only 10 records 
@conflict_cases = ConflictCase.transform(sites["sites"], @fields) 
@conflict_cases = @conflict_cases.paginate(:page => page, :per_page => 10, :total_entries => sites["total"].to_i) 

Проблема заключается в том, что я всегда получаю только 10 записей, поэтому он может отображаться на первой странице, но со второй страницы не показывает ничего. Я, хотя потому, что paginate будет работать над собой, чтобы игнорировать первые 10 записей, когда мы переходим на вторую страницу или больше.

Есть ли кто-нибудь предложить какую-либо идею? Благодарим за помощь

+1

Вы можете найти sql, выполненный в журнале? Я думаю, will_paginate вернет правильные результаты. Должно быть что-то странное. – Bigxiang

+0

В последнем коде, когда я использую отладчик, он возвращает пустой массив для запроса на стр. 2 или 3 или более. Я думаю, что могут быть мои данные, которые запросили у сервера 10 записей и will_paginate считают, что 10 записей используются только для первой страницы. –

ответ

0

Это идеальный сценарий для использования отладчика ruby ​​или выплескивания на регистратор значений во время каждой итерации ваших объектов.

Во-первых, я бы предположил, что will_paginate не является проблемой, поэтому я бы отлаживал просмотр объекта @conflict_cases и того, что передается в функцию paginate(), и значения каждый раз для страниц и сайтов ['total «].

+0

В последнем коде, когда я использую отладчик, он возвращает пустой массив для запроса на стр. 2 или 3 или более. Я думаю, что могут быть мои данные, которые запросили у сервера 10 записей и will_paginate считают, что 10 записей используются только для первой страницы. –

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