我需要自定義_pagination.html.erb以顯示與page_entries_info幫助器方法相同的資訊,例如:顯示記錄 6 到 10,共 26 條。
有_pagination.html.erb這樣的:
<%= paginator.render do -%>
<% end -%>
哪些方法或物件可用于獲取當前顯示的范圍(在上面的示例中為 6 到 10)以及正在分頁的記錄總數(在示例中為 26)?
uj5u.com熱心網友回復:
第一種方法,您可以覆寫 Kaminari localize 以顯示格式 "Showing %{entry_name} %{first} to %{last} of %{total}"
# config/locales/kaminari.yml
en:
...
helpers:
page_entries_info:
entry:
zero: "entries"
one: "entry"
other: "entries"
one_page:
display_entries:
zero: "No %{entry_name} found"
one: "Showing <b>1</b> %{entry_name}"
other: "Showing <b>all %{count}</b> %{entry_name}"
more_pages:
display_entries: "Showing %{entry_name} %{first} to %{last} of %{total}"
第二種方法,因為你想自定義 _pagination.html.erb
# app/views/kaminari/_pagination.html.erb
<%= paginator.render do -%>
<% to = current_page.to_i * per_page %>
<% from = to - per_page 1 %>
<% total = total_pages * per_page - 1 %>
Showing <%= @options[:entry_name].pluralize(total, I18n.locale) %> <%= from %> to <%= to %> of <%= total %>
...
<% end %>
# you need to pass an option `entry_name`
# app/views/records/index.html.erb
<%= paginate @records, entry_name: 'record' %>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/380431.html
