Я работаю с плагином Rails mislav-will_paginate для разбивки моих записей. Я хочу, чтобы произвести следующий вывод, независимо от того, были ли несколько страниц:Overriding Rails плагин mislav-will_paginate
X - Y of Z
1 - 100 of 1826
will_paginate в WillPaginate :: ViewHelpers возвращает NIL, если только одна страница записей. Я хочу переопределить это самым чистым способом для создания вышеприведенного вывода, если была только одна страница, или вышеупомянутый выход, окруженный обычным выходом, если было несколько страниц.
Я переопределил метод WillPaginate :: LinkRenderer to_html для создания этого вывода, но я не могу понять, как его создать, если есть только одна страница записей.
Должен ли я перемещать код для создания X-Y из Z в другом месте и вызывать его как из моего метода overridding to_html, так и из того места, где я делаю свой вызов will_paginate, если он возвращает nil? Если да, то где он должен жить?
Я предполагаю, что эти числа представляют количество элементов, показанных на текущей странице, и сколько их общего? И вы хотите всегда показывать это, существуют ли ссылки для разбивки на страницы? В таком случае, почему бы не сохранить его вне вызова will_paginate полностью и реализовать его в своем представлении или в обычном вспомогательном методе? – ryanb
Оба предположения верны. Я стараюсь объединить их, потому что они логически связаны; каждый раз, когда я вызываю will_paginate, я хочу также отображать итоговые значения. Я также хочу отображать итоговые значения между ссылками на страницы, которые будут выдаваться will_paginate, ala Gmail. Самый чистый способ сделать это - получить get_paginate для вывода итогов в методе to_html. – nfm