2012-02-25 101 views

回答

2

实际上,“link_to_next_page”助手只会创建一个到下一页的链接,如方法的名称所示。如果你想使用prev和next按钮,你应该使用“paginate”助手。例如:

您应该检查 Kaminari Github Repository自述文档更多的例子

+1

其实link_to_previous_page帮手已被添加到kaminari,虽然它尚未建成最新的宝石。 https://github.com/amatsuda/kaminari/commit/39f829b616cc065e5effbc012f21ae3adab145e7#lib/kaminari/helpers/action_view_extension.rb,无论如何,你仍然可以使用它。 – wanghq 2012-09-02 05:41:14

+0

Readme文档似乎没有任何使用paginate助手仅显示'Prev'和'Next'样式链接的好例子。 似乎paginate在到达最后一页时禁用下一个链接,而'link_to_next_page' helper似乎并不禁用链接。 如果您知道如何使用'paginate'方法仅显示'next'和'prev'链接,您可以发布一个示例吗? – 2014-02-07 00:16:31

1
  1. 生成你需要编辑雷意见。例如为引导:

    rails g kaminari:views bootstrap

  2. 重命名的应用程序/视图/雷/ paginator.html.erb到_default_paginator.html.erb(注意添加 “_” 开头)。

  3. 创建以下文件:app/views/kaminari/_next_prev_paginator.html.erb。复制/粘贴_default_paginator.html.erb的内容,然后删除显示页面链接的行。

  4. 生成一个初始化:

    rails g kaminari:config

  5. 在配置/初始化/ kaminari_config.rb,前添加以下代码“Kaminari.configure做”:

    Kaminari::Helpers::Tag.class_eval do def to_s(locals = {}) @template.render :partial => "../views/kaminari/#{@theme}#{self.class.name.demodulize.underscore}", :locals => @options.merge(locals) end end

  6. 在您的视图中:

    paginate @objects, :theme => "default_"

    paginate @objects, :theme => "next_prev_"

您现在可以风格_default_paginator.html.erb_next_prev_paginator.html.erb分开,你认为合适。

1

也许不完全一样,但你可以使用CSS隐藏元素。
我使用Kaminari引导程序,并将这些添加到我的应用程序/ assets/stylesheets/application.css.scss将只显示上一个和下一个按钮。

/* Removes the ellipses */ 
li.page.gap.disabled a { 
    display:none; 
} 
/* Removes the last button */  
li.last.next a { 
    display:none; 
} 
/* Removes first button */ 
li.first a { 
    display:none; 
} 
/* Removes the active page */ 
li.page.active a { 
    display:none; 
} 

它会在整个网站上应用这个。

相关问题