rails2.3 Ajax分頁 實現方案

來源:互聯網
上載者:User
            
            有段時間沒發帖了,一來自己經曆了一個壓力很大的六月(考試+項目緊促),暑假還要繼續完善項目。所以就一直沒有心思寫點什麼。

           說實話,完善功能確實是個枯燥的勞動。弄著弄著就不想弄了,也許是因為這個東西我弄了很久的緣故吧。累了就願意逛逛網站啥的,看看技術文章,
聽聽歌,其實說累也談不上,畢竟假期我已經沒有什麼學習上的顧慮。就是看了煩,因為現在這個系統的架構讓我越搞越複雜,每一步調整我都要小心,怕影響其
他模組。我更想給自己充充電,學習學習自己感興趣的技術。因為我清楚的知道自己技術上的不足。

            今天看到一個畢業的師兄發了篇翻譯的技術文章,講PHP最佳化的,我很是佩服,因為他對技術的追求永遠那麼炙熱,團博裡最新更新的幾篇文章都是他的。
讓我多多少少覺得自己該寫點什麼,但是還是有些猶豫,後來在他的園子空間看到他的博文關注裡只有俺的技術部落格的時候,俺啥也不說了,就開始寫這篇文章。也許是
我不太喜歡發文章到團博裡吧。總之這讓我看到了許許多多激勵我的人。我的QQ技術群也有180多個喜愛技術並且願意和我交流的人加入,不管是高手還是新手,我都
很感謝他們,也越發覺得自己不夠意思,總是潛水,沒有真正做到溝通與交流。想到這,我覺得我自己應該振作,即使知道以後的道路會很苦,也要堅持的走下去。因為
我已經做出了人生的選擇。

            rails我用的是最新版本2.3,rails發展至今很快得到web開發人員的推崇,因其快速敏捷的開發而聞名。但是我可能是習慣了Java的開發模式,覺得rails
給我的感覺就是搭積木,拼拼圖。快的確是快,比j2ee快很多倍,但是讓我覺得這個架構並不在我的掌控之下,封裝的太緊密了,就連方法都給你封裝好,讓我直接使用,
估計是我剛入門吧,沒有對他有足夠瞭解。

執行個體:Ajax分頁
1.首先擴充will_paginate外掛程式,因為外掛程式預設是不支援的,在外掛程式中找到view_helpers.rb源檔案。
添加代碼:def will_paginate_remote(paginator, options={})
  update = options.delete(:update)
  url = options.delete(:url)
  str = will_paginate(paginator, options)
  if str != nil
    str.gsub(/href="(.*?)"/) do
      "href=\"#\" onclick=\"new Ajax.Updater('" + update + "', '" + (url ? url + $1.sub(/[^\?]*/, '') : $1) +
      "', {asynchronous:true, evalScripts:true, method:'get'}); return false;\""
    end
  end
end

2.在需使用無重新整理分頁的頁面裡加入:<%= javascript_include_tag :defaults %>

3.修改本頁的分頁方法,改為:<%= will_paginate_remote (@blogs,:update=>'blogs',:url=>nil,:prev_label=>'上一頁',:next_label=>'下一頁',:separator=>" | ")%>

ok,大功告成,這樣一個Ajax分頁就做完了,是不是非常快呐。這也正是其魅力所在。想想用jquery+java去實現
這個功能肯定花費的時間會很多。但是這麼著就做完了,的確快的讓人受不了。比拖.net控制項還爽。

哎,發現自己越來越懶了,發篇文章鞭策下自己,加油!
繼續完善我的項目,等開通以後,我會寫一篇這個項目的架構設計,交流,共進。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.