2015-11-28 4 views
0

will_paginate Gem используется в нашем контроллере Rails:PARAMS [: страница] в will_paginate

@module_actions = @module_actions.page(params[:page]).per_page(30) 

Вот что использование params[:page]? Делает 0 из params[:page] средним отображением первой страницы @module_actions (есть 30 записей на одной странице)?

ответ

1

Здесь страница означает номер страницы, которую вы хотите просмотреть. Каждая страница состоит из небольшого количества записей, которые вы можете установить или использовать по умолчанию. Диапазон для страницы начинается с 1 и может идти дальше. Если у вас есть 100 записей для @module_actions, то см. Ниже вывод.

@module_actions = @module_actions.page(1).per_page(30) # 1-30 records 
@module_actions = @module_actions.page(2).per_page(30) # 31-60 records 
@module_actions = @module_actions.page(3).per_page(30) # 61-90 records 
@module_actions = @module_actions.page(4).per_page(30) # 91-100 records 
@module_actions = @module_actions.page(5).per_page(30) # empty array 

И если вы попытаетесь получить доступ к записям со страницей 0, вы получите сообщение об ошибке.

@module_actions = @module_actions.page(0).per_page(30) # Throws RangeError: invalid page: 0 
1

params[:page] = 0 не будет работать. Для отображения первой страницы, она должна быть params[:page] = 1 то есть ссылка должна быть

localhost/something?page=1 
localhost/something?page=2 

по умолчанию, даже если вы удалите ?page=1 он покажет первого содержимое страницы т.е.

localhost/something?page=1 

таким же, как

localhost/something 
Смежные вопросы