<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    子在川上曰

      逝者如斯夫不舍晝夜
    隨筆 - 71, 文章 - 0, 評論 - 915, 引用 - 0
    數(shù)據(jù)加載中……

    rails中使用ajax時的分頁實現(xiàn)

    關(guān)于分頁可以參考這篇文章:http://ruby-lang.org.cn/forums/viewthread.php?tid=206&extra=page%3D1&page=2

    但如果使用ajax則分頁的實現(xiàn)需要改動一下,如下所示。

          共<b><%=@article_pages.page_count%></b>頁:&nbsp;

          
    <%=if @article_pages.current!=@article_pages.first_page
             link_to_remote(
    "首頁",:update => "articleList",
                :url 
    => {:action => 'list',:subcategory_id => @subcategory.id,:page => @article_pages.first_page})
          
    else
          
    "首頁"
          end
    %>

          
    <%=if @article_pages.current.previous
          link_to_remote(
    "上一頁",:update => "articleList",
              :url 
    => {:action => 'list',:subcategory_id => @subcategory.id,:page => @article_pages.current.previous})
          
    else
          
    "上一頁"
          end 
    -%>



          
    <%=pagination_links_each(@article_pages, :window_size => 5do | page |
          link_to_remote(
    "[#{page}]", :update => "articleList",
                               :url 
    => {:action => 'list',:subcategory_id => @subcategory.id,:page => page}) 
          end
    %>

          
    <%=if @article_pages.current.next
          link_to_remote(
    "下一頁",:update => "articleList",
                    :url 
    => {:action => 'list',:subcategory_id => @subcategory.id,:page => @article_pages.current.next})
          
    else
          
    "下一頁"
          end 
    -%>

          
    <%=if @article_pages.current!=@article_pages.last_page
          link_to_remote(
    "末頁",:update => "articleList",
          :url 
    => {:action => 'list',:subcategory_id => @subcategory.id,:page => @article_pages.last_page})
          
    else
          
    "末頁"
          end
    %>


    然后再優(yōu)化一下,把這些代碼提取成一個公共函數(shù),放在application_helper里,以便其他頁面也能共享。代碼如下:

      def ajax_pagination_links(pages,update,url)
        links 
    = []
        links 
    << "共<b>#{pages.page_count}</b>頁"
        
    return links[0if pages.page_count==1
        links 
    << ":&nbsp;"

        
    if pages.current!=pages.first_page
          url[:page] 
    = pages.first_page
          links 
    << link_to_remote("首頁", :update => update, :url => url)
        
    else
          links 
    << "首頁"
        end
     
        
    if pages.current.previous
          url[:page] 
    = pages.current.previous
          links 
    << link_to_remote("上一頁", :update => update, :url => url)
        
    else
          links 
    << "上一頁"
        end

        links 
    << pagination_links_each(pages, :window_size => 5do |page|
                    url[:page] 
    = page
                    link_to_remote(
    "[#{page}]", :update => update, :url => url) 
                end

        
    if pages.current.next
          url[:page] 
    = pages.current.next
          links 
    << link_to_remote("下一頁",:update => update, :url => url)
        
    else
          links 
    << "下一頁"
        end

        
    if pages.current!=pages.last_page
          url[:page] 
    = pages.last_page
          links 
    << link_to_remote("末頁",:update => update, :url => url)
        
    else
          links 
    << "末頁"
        end
        
        links.join(
    " ")
      end

    以后在頁面里只需要加上這樣一句即可
         <%=ajax_pagination_links(@article_pages, "articleList", {:action => 'list',:subcategory_id => @subcategory.id})%>

    posted on 2007-07-30 17:53 陳剛 閱讀(1626) 評論(4)  編輯  收藏 所屬分類: Rails&Ruby

    評論

    # re: rails中使用ajax時的分頁實現(xiàn)  回復(fù)  更多評論   

    cool.

    非常好的一個實現(xiàn), 謝謝你偉大的工作.
    2007-12-25 10:08 | sixfooter

    # re: rails中使用ajax時的分頁實現(xiàn)[未登錄]  回復(fù)  更多評論   

    干的漂亮,謝謝分享。
    2007-12-27 22:37 | daiiing

    # re: rails中使用ajax時的分頁實現(xiàn)  回復(fù)  更多評論   

    為什么不能用啊,我用
    <%=ajax_pagination_links(@paper_pages, "contrast_paper_list", {:action => 'paper_contrast'})%>,生成的頁面如下(末頁):

    <a onclick="new Ajax.Updater('contrast_paper_list', '/paper/paper_contrast?page=2', {asynchronous:true, evalScripts:true}); return false;" href="#">末頁</a>
    但是我看是連接到http://localhost:3001/paper/paper_contrast#這頁面的,我是把分頁的那一塊做成一個partail,我不知道action是不是就跟普通的pagination的寫法一樣啊。
    2008-02-29 11:12 | magiclin

    # re: rails中使用ajax時的分頁實現(xiàn)  回復(fù)  更多評論   

    :subcategory_id => @subcategory.id有什么用啊,想不通
    2008-02-29 11:24 | magiclin
    主站蜘蛛池模板: 18女人毛片水真多免费| 内射无码专区久久亚洲| 美女裸身网站免费看免费网站| 国产色婷婷精品免费视频| 久久精品国产69国产精品亚洲| 亚洲国产熟亚洲女视频| 中国一级特黄的片子免费| 日韩午夜免费视频| 亚洲国产综合专区在线电影| 亚洲AV无码国产精品永久一区| 免费在线看黄的网站| 亚洲av区一区二区三| 国产高清视频免费在线观看| 久久久久久久久免费看无码| 亚洲第一精品福利| 一级成人a做片免费| 午夜私人影院免费体验区| 亚洲视频在线观看网站| 永久免费无码日韩视频| 妞干网在线免费观看| 在线播放亚洲精品| 黄页网站在线观看免费高清| 亚洲精品无码国产片| 日韩在线免费视频| 精品久久久久久亚洲中文字幕| 成人黄色免费网站| 亚洲黄色三级网站| 成人免费午间影院在线观看| 亚洲一级毛片免费在线观看| 久久国产精品2020免费m3u8| 亚洲精品无码MV在线观看| 无码AV动漫精品一区二区免费| 亚洲日韩av无码| a级片在线免费看| xvideos亚洲永久网址| 很黄很污的网站免费| 亚洲熟女www一区二区三区| 97热久久免费频精品99| 免费亚洲视频在线观看| 久久久亚洲精品国产| 国产精品成人无码免费|