如何强制kaminari显示页面在第一页上的第一个链接
我的期望是甚至该页面在第一页上已经完成。
分页还应显示 previous_link , first_page_link
。但仅显示链接文字,禁用链接功能
答案 0 :(得分:2)
如果要显示链接“first_page”和“previous_page”(或“last_page”和“next_page”),即使是第一页,也应该在终端中运行此命令,您必须位于与项目相同的目录
rails g kaminari:views default
这将生成kaminari视图的文件,然后你应该转到“_paginator.html.erb”并删除“除非”
<%= paginator.render do %>
<nav class="pagination">
<%= first_page_tag unless current_page.first? %>
<%= prev_page_tag unless current_page.first? %>
<% each_page do |page| %>
<% if page.left_outer? || page.right_outer? || page.inside_window? %>
<%= page_tag page %>
<% elsif !page.was_truncated? %>
<%= gap_tag %>
<% end %>
<% end %>
<%= next_page_tag unless current_page.last? %>
<%= last_page_tag unless current_page.last? %>
</nav>
<% end %>
因此,您需要更改该文件并将其保留为
<%= paginator.render do %>
<nav class="pagination">
<%= first_page_tag %>
<%= prev_page_tag %>
<% each_page do |page| %>
<% if page.left_outer? || page.right_outer? || page.inside_window? %>
<%= page_tag page %>
<% elsif !page.was_truncated? %>
<%= gap_tag %>
<% end %>
<% end %>
<%= next_page_tag %>
<%= last_page_tag %>
</nav>
<% end %>
希望它有所帮助:D
答案 1 :(得分:0)
kaminari
使用kaminari/app/views/kaminari/_first_page.html.erb
<span class="first">
<%= link_to_unless current_page.first?, t('views.pagination.first').html_safe, url, :remote => remote %>
</span>
仅当当前页面不是第一页时才添加链接。
您可以轻松修改此代码by customizing the kaminari views
运行rails g kaminari:views default
;它创建了kaminari使用的所有视图的本地副本。
因此,您会在应用中看到一个app/views/kaminari/_first_page.html.erb
文件,其代码与上述相同。改变它以满足您的需求。
示例,要在第一页上显示第一页的链接文本,请按如下所示更改逻辑:
<span class="first">
<% if current_page.first? %>
<%= t('views.pagination.first' %>
<% else %>
<%= link_to t('views.pagination.first').html_safe, url, :remote => remote %>
<% end %>
</span>
同样适用于上一个链接; app/views/kaminari/_prev_page.html.erb
中的逻辑可以更改为根据需要显示。