Following users

這一章,要為應用增加社群功能,允許使用者關注(或取消關注)其他使用者,並在主頁(Home page)顯示被關注的使用者發布的文章。我們會在 Section 12.1 學習如何建立使用者之間的關係,然後在 Section 12.2 建立相對應的網頁介面(還會介紹 Ajax)。最後在 Section 12.3 實現功能完善的動態流(status feed)。

在這最後的章節會包含一些具有挑戰性的內容,包括為了實現動態流,會使用到一些 Ruby 和 SQL 技巧。透過這些例子,你會了解 Rails 是如何處理更加複雜的資料模型(data models),這些知識也會讓你在日後自行開發時發揮作用。為了幫助你從學習過渡到獨立開發,Section 12.4 提供了一些進階的學習資源。

因為本章的內容比較具挑戰性,因此在開始寫任何程式碼之前,我們先來討論一下介面。跟之前的章節一樣,再開發之前,先使用 mockups。

完整的頁面流程如下:

  • 一個使用者(John Calvin)從他的資料頁面(Figure 12.1)瀏覽到使用者列表頁面(Figure 12.2),關注了一個使用者
  • 然後他又打開另一個使用者(Thomas Hobbes )的資料頁面(Figure 12.3),點擊「Follow」按鈕關注這名使用者
  • 這時「Follow」按鈕會變成「Unfollow」,而且關注 Thomas Hobbes 的人數會增加一個(Figure 12.4)
  • 接著,John Calvin 回到主頁(Home page),看到他關注的人數會多一個,而且在動態流中會看到 Thomas Hobbes 發布的文章(Figure 12.5 )

本章接下來的內容就是要實現這樣的頁面流程。

Figure 12.1 一個使用者的資料頁面

Figure 12.2 找一個想關注的使用者

Figure 12.3 想關注的那名使用者資料頁面,有一個「Follow」按鈕

Figure 12.4 資料頁面中顯示了「Unfollow」按鈕,而且關注他的人數增加一個

Figure 12.5 首頁顯示了動態流,而且關注的人數多了一個