2012-02-25 140 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; 
} 

它會在整個網站上應用這個。

相關問題