2011-08-19 76 views
0

我有一個頁面上的鏈接列表:Ruby on Rails的3:如何拉另一個頁面到現有的頁面內容無需刷新頁面

       PAGE 1 

Link.1

Link.2

Link.3

Link.4

等等

我想讓用戶點擊一個鏈接,並讓鏈接頁面的內容顯示在同一頁面上,而不需要刷新頁面。我基本上將內容拉到頁面上的div。當點擊另一個鏈接時,我希望目前的內容消失,爲新內容騰出空間。

這種東西對我來說是新的。我很感激,如果有人可以指向我的教程,清楚地顯示如何做到這一點。

在此先感謝

回答

0

如果你想類似於github上的效果,也許pjax是你在找什麼:http://pjax.heroku.com

這使得它很容易更換網站的內容只是離開了您的應用佈局。由github和basecamp afaik使用。這也很好地降低:)

UPDATE:

Pjax是這樣工作的:

  • 看起來如果瀏覽器支持HTML5歷史API。
  • 如果不是,它只是設置窗口的位置,一切如常
  • 如果是這樣,它會發送一個AJAX請求到服務器,配備一個特殊的頭。
  • 服務器(在軌的情況下),能夠讀取頭和將發送無佈局響應(這將是渲染:佈局=> Rails中假)

即使它不是一個完全脫離箱子解決方案,它非常乾淨和簡單。 :)

也許這另外兩個鏈接將爲您有用:

https://github.com/defunkt/jquery-pjax

https://github.com/rails/pjax_rails(注意,這是爲Rails 3.1+)

+0

看起來很不錯,但我一直在試圖理解它,但不要不知道從哪裏開始。我查看了源代碼,但沒有得到它。我想要做的事似乎很簡單,但對於該網站的源代碼有很多沒有意義。 – LondonGuy

0

如果你使用Rails> = 3.2,你也可以嘗試一下rails-ajax寶石。

您只需將其配置爲您的主要默認容器,並且您的網站將自動使用此容器進行Ajax化。無需更改您的應用程序的代碼。

它可以處理很多的麻煩你:書籤,歷史,腳本執行,重定向,形式,爲後備JS禁用瀏覽器...

相關問題